diff --git a/Dockerfile b/Dockerfile index 7c6b14dd..e770b54d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,16 +1,35 @@ -FROM python:3.11-slim +# Build stage - compile dependencies +FROM python:3.11-slim AS builder WORKDIR /app -# Install system dependencies +# Install build dependencies (only in this stage) RUN apt-get update && apt-get install -y --no-install-recommends \ gcc \ + libssl-dev \ + libffi-dev \ + python3-dev \ + cargo \ + rustc \ && rm -rf /var/lib/apt/lists/* # Install Python dependencies COPY requirements.txt . RUN pip install --no-cache-dir --upgrade pip && \ - pip install --no-cache-dir -r requirements.txt + pip install --no-cache-dir --prefix=/install -r requirements.txt + +# Final stage - minimal runtime image +FROM python:3.11-slim + +WORKDIR /app + +# Install only runtime dependencies (not build tools!) +RUN apt-get update && apt-get install -y --no-install-recommends \ + libssl3 \ + && rm -rf /var/lib/apt/lists/* + +# Copy installed Python packages from builder +COPY --from=builder /install /usr/local # Copy application files COPY backend ./backend