FROM python:3.11-slim AS builder WORKDIR /build # Install build dependencies RUN apt-get update && apt-get install -y \ build-essential \ libpq-dev \ && rm -rf /var/lib/apt/lists/* # Copy requirements COPY requirements.txt ./ RUN pip install --no-cache-dir -r requirements.txt # Runtime stage FROM python:3.11-slim # Install runtime dependencies RUN apt-get update && apt-get install -y \ libpq5 \ && rm -rf /var/lib/apt/lists/* WORKDIR /app # Copy Python packages COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages COPY --from=builder /usr/local/bin /usr/local/bin # Copy application code COPY . . # Create non-root user RUN useradd --create-home --shell /bin/bash app USER app EXPOSE 8000 CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]