Datathon / backend /Dockerfile
RishiXD's picture
Upload 67 files
b23ff00 verified
raw
history blame contribute delete
980 Bytes
# Use an official lightweight Python image.
# https://hub.docker.com/_/python
FROM python:3.9-slim
# Set environment variables
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1
# Set work directory
WORKDIR /code
# Install dependencies
COPY requirements.txt /code/requirements.txt
RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
# Copy project including `backend_app` directory
COPY . /code/
# Expose the API port (Hugging Face Spaces defaults to 7860)
EXPOSE 7860
# Add both /code and /code/backend to PYTHONPATH to ensure backend_app can be imported
# regardless of whether the build context was root or the backend folder.
ENV PYTHONPATH="/code:/code/backend:$PYTHONPATH"
# Command to run the application using uvicorn.
# We use 'sh -c' to inspect the directory structure before starting, which helps debug 'ModuleNotFoundError'.
CMD ["sh", "-c", "ls -R /code && uvicorn backend_app.main:app --host 0.0.0.0 --port 7860"]