Spaces:
Sleeping
Sleeping
| # Use an official Python runtime as a parent image | |
| FROM python:3.9-slim | |
| # Set the working directory in the container | |
| WORKDIR /code | |
| # Copy the dependencies file to the working directory | |
| COPY ./requirements.txt /code/requirements.txt | |
| # Install any needed dependencies specified in requirements.txt | |
| RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt | |
| # Copy the rest of the application code to the working directory | |
| COPY ./app.py /code/app.py | |
| # .env file will be handled by docker-compose for local dev, or secrets in HF | |
| # Make port 8000 available to the world outside this container | |
| # Hugging Face Spaces expects the app to listen on port 7860 by default for Docker, | |
| # but we can configure it. Let's stick to 8000 as defined in app.py and uvicorn command. | |
| # If HF requires 7860, we'll need to adjust the uvicorn command and EXPOSE. | |
| # Let's keep 8000 for now and check HF docs if issues arise. Or we can make it 7860 explicitly. | |
| # Let's change to 7860 to be safe with HF defaults. | |
| EXPOSE 7860 | |
| # Define environment variable for the port (optional, uvicorn command specifies it) | |
| # ENV PORT=7860 | |
| # Run app.py when the container launches using uvicorn | |
| # Use 0.0.0.0 to ensure it's accessible from outside the container | |
| # Change port to 7860 to match Hugging Face Docker convention | |
| CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"] |