# Use the official Python image from the Docker Hub FROM python:3.9-slim # Set the working directory in the container WORKDIR /app # Copy the requirements file into the container COPY requirements.txt . # Install the dependencies RUN pip install --no-cache-dir -r requirements.txt # Install gunicorn RUN pip install gunicorn # Copy the FastAPI project files into the container COPY . . # Download & install czkawka binary RUN wget -O /usr/local/bin/czkawka https://github.com/qarmin/czkawka/releases/download/8.0.0/linux_czkawka_cli RUN chmod +x /usr/local/bin/czkawka # Install ffmpeg with ffprobe RUN apt-get update && apt-get install -y ffmpeg # Expose the port the app runs on EXPOSE 8000 # Command to run the FastAPI app using gunicorn with uvicorn workers CMD ["gunicorn", "-w", "4", "-k", "uvicorn.workers.UvicornWorker", "main:app", "--bind", "0.0.0.0:8000"]