# Use the official Python image from the Docker Hub | |
FROM python:3.11-slim | |
# Set environment variables | |
ENV PYTHONDONTWRITEBYTECODE=1 | |
ENV PYTHONUNBUFFERED=1 | |
# Set work directory | |
WORKDIR /app | |
# Install system dependencies | |
RUN apt-get update && apt-get install -y build-essential && rm -rf /var/lib/apt/lists/* | |
# Install dependencies | |
COPY requirements.txt . | |
RUN pip install --upgrade pip | |
RUN pip install --no-cache-dir -r requirements.txt | |
# Copy project | |
COPY . . | |
# Expose the port Uvicorn will run on | |
EXPOSE 8001 | |
# Set environment variables for Uvicorn | |
ENV HOST=0.0.0.0 | |
ENV PORT=8001 | |
# Command to run the application | |
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8001", "--workers", "4"] |