# Use an offical python runtime as a parent image 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 dependencies RUN pip install --no-cache-dir -r requirements.txt # Copy the application code into the container COPY . . # Expose the port the app runs on EXPOSE 8000 # Ensure the application runs on Heroku's dynamic port CMD ["sh", "-c", "uvicorn main:app --host 0.0.0.0 --port $PORT"]