# Use an official Python runtime as a parent image | |
FROM python:3.11-slim | |
# Set the working directory in the container | |
WORKDIR /app | |
# Copy the requirements file into the container at /app | |
COPY requirements.txt . | |
# Install any needed packages specified in requirements.txt | |
RUN pip install --no-cache-dir -r requirements.txt | |
# Copy the rest of the application's code into the container at /app | |
COPY . . | |
# Make port 7860 available to the world outside this container | |
# Hugging Face Spaces uses this port by default | |
EXPOSE 7860 | |
# Define environment variable for the port | |
ENV PORT=7860 | |
# Run app.py when the container launches using Gunicorn | |
# Gunicorn is a production-ready web server. | |
# We bind to 0.0.0.0 to allow external connections. | |
CMD ["gunicorn", "--bind", "0.0.0.0:7860", "--workers", "1", "app:app"] |