speech-to-text / Dockerfile
Nechba's picture
Update Dockerfile
6adce9c verified
# Use an official Python runtime as a parent image
FROM python:3.9.13
# Install system dependencies (including FFmpeg)
RUN apt-get update && apt-get install -y ffmpeg && \
rm -rf /var/lib/apt/lists/* # Clean up to reduce image size
# Create a new user with a specific UID and home directory
RUN useradd -m -u 1000 user
# Set the user for subsequent instructions
USER user
# Update the PATH environment variable
ENV PATH="/home/user/.local/bin:${PATH}"
# Set the working directory
WORKDIR /app
# Copy the requirements file into the container
COPY --chown=user ./requirements.txt /app/requirements.txt
# Install Python dependencies
RUN pip install --no-cache-dir --upgrade -r /app/requirements.txt && \
pip install --no-cache-dir --user gunicorn # Install Gunicorn
# Copy the current directory contents into the container at /app
COPY --chown=user . /app
# Command to run the application using Gunicorn
# Set a higher timeout (e.g., 300 seconds) to handle long-running tasks
ENTRYPOINT ["gunicorn", "-w", "1", "-b", "0.0.0.0:7860", "--timeout", "3000", "app:app"]