accent-detection / Dockerfile
ash-171's picture
Update Dockerfile
5904ddc verified
# FROM python:3.10-slim
# # Set working directory
# WORKDIR /app
# # Install system packages
# RUN apt-get update && apt-get install -y ffmpeg git wget && rm -rf /var/lib/apt/lists/*
# # Set environment for proper model caching and permissions
# ENV PYTHONUNBUFFERED=1
# ENV HOME=/app
# ENV XDG_CACHE_HOME=/app/.cache
# ENV SPEECHBRAIN_CACHE=/app/.cache/speechbrain
# # Create all needed directories with write permissions
# RUN mkdir -p /app/pretrained_models \
# /app/wav2vec2_checkpoints \
# /app/pretrained_asr \
# /app/.cache/whisper \
# /app/.cache/speechbrain \
# /app/tmp \
# && chmod -R 777 /app/pretrained_models \
# /app/wav2vec2_checkpoints \
# /app/pretrained_asr \
# /app/.cache \
# /app/tmp \
# /app
# # Upgrade pip
# RUN pip install --no-cache-dir --upgrade pip --root-user-action=ignore
# # Copy source
# COPY . .
# # Download Hugging Face interface file
# RUN mkdir -p src && wget -O src/custome_interface.py https://huggingface.co/Jzuluaga/accent-id-commonaccent_xlsr-en-english/resolve/main/custom_interface.py
# # Install Python dependencies
# RUN pip install --no-cache-dir -r requirements.txt --root-user-action=ignore
# # Expose Streamlit port
# EXPOSE 8501
# # Run Streamlit app
# CMD ["streamlit", "run", "streamlit_app.py", "--server.port=8501"]
FROM python:3.10-slim
# Set working directory
WORKDIR /app
# Install system packages and Ollama dependencies
RUN apt-get update && \
apt-get install -y ffmpeg git wget curl gnupg && \
rm -rf /var/lib/apt/lists/*
# Install Ollama
# Use the official install script for robust installation
RUN curl -fsSL https://ollama.com/install.sh | sh
# Set environment for proper model caching and permissions
ENV PYTHONUNBUFFERED=1
ENV HOME=/app
ENV XDG_CACHE_HOME=/app/.cache
ENV SPEECHBRAIN_CACHE=/app/.cache/speechbrain
# Create all needed directories with write permissions
RUN mkdir -p /app/pretrained_models \
/app/wav2vec2_checkpoints \
/app/pretrained_asr \
/app/.cache/whisper \
/app/.cache/speechbrain \
/app/tmp \
&& chmod -R 777 /app
# Upgrade pip
RUN pip install --no-cache-dir --upgrade pip --root-user-action=ignore
# Copy source
COPY . .
# Copy the startup script and make it executable
COPY start.sh /usr/local/bin/start.sh
RUN chmod +x /usr/local/bin/start.sh
# Download Hugging Face interface file
RUN mkdir -p src && wget -O src/custome_interface.py https://huggingface.co/Jzuluaga/accent-id-commonaccent_xlsr-en-english/resolve/main/custom_interface.py
# Install Python dependencies
RUN pip install --no-cache-dir -r requirements.txt --root-user-action=ignore
# Expose both Streamlit and Ollama ports (for internal communication within Docker, if needed)
# Hugging Face Spaces will likely only expose the main Streamlit port
EXPOSE 8501 11434
# Use the startup script as the CMD
CMD ["/usr/local/bin/start.sh"]