# Use an official Python runtime as a parent image | |
FROM python:3.8-slim | |
# Set the working directory in the container | |
WORKDIR /app | |
# Copy the current directory contents into the container | |
COPY . /app | |
# Install any needed packages specified in requirements.txt | |
RUN pip install --no-cache-dir -r requirements.txt | |
# Install ffmpeg for audio processing | |
RUN apt-get update && apt-get install -y ffmpeg | |
# Create cache directory with appropriate permissions | |
RUN mkdir -p /app/cache && chmod -R 777 /app/cache | |
RUN mkdir -p /app/temp && chmod 777 /app/temp | |
# Make port 7860 available to the world outside this container | |
EXPOSE 7860 | |
# Start the app using Gunicorn | |
CMD ["gunicorn", "-w", "4", "-b", "0.0.0.0:7860", "app:app"] | |