learnable-speech / Dockerfile
mnhatdaous's picture
Refactor Dockerfile and requirements for improved dependency management and clarity
f5d5446
FROM python:3.10-slim
WORKDIR /app
RUN apt-get update && apt-get install -y \
build-essential \
ffmpeg \
git \
curl \
&& rm -rf /var/lib/apt/lists/*
# Copy requirements file first for better caching
COPY requirements.txt ./requirements.txt
# Install Python dependencies
RUN pip install --no-cache-dir -r requirements.txt
# Copy the entire project
COPY . .
# Set environment variables
ENV PYTHONPATH=/app
ENV GRADIO_SERVER_NAME=0.0.0.0
ENV GRADIO_SERVER_PORT=7860
ENV HOST=0.0.0.0
ENV PORT=7860
# Expose the port
EXPOSE 7860
# Health check
HEALTHCHECK --interval=30s --timeout=30s --start-period=5s --retries=3 \
CMD curl -f http://localhost:7860/ || exit 1
# Run the application
CMD ["python", "app.py"]