# Use an official Python runtime as a parent image FROM python:3.13-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 # Use --no-cache-dir to reduce image size # Use --upgrade to ensure latest versions are installed RUN pip install --no-cache-dir --upgrade -r requirements.txt # Copy the current directory contents into the container at /app COPY main.py . # Make port 8000 available to the world outside this container EXPOSE 7860 # Define environment variables (placeholders, will be set at runtime) ENV NOTION_COOKIE="" ENV NOTION_SPACE_ID="" # Run uvicorn when the container launches # Use 0.0.0.0 to make it accessible externally CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]