fixed arm build, reduced image size

This commit is contained in:
Gamosoft 2025-11-11 11:24:43 +01:00
parent 3e6ba25c96
commit 11b946fc00
1 changed files with 22 additions and 3 deletions

View File

@ -1,16 +1,35 @@
FROM python:3.11-slim # Build stage - compile dependencies
FROM python:3.11-slim AS builder
WORKDIR /app WORKDIR /app
# Install system dependencies # Install build dependencies (only in this stage)
RUN apt-get update && apt-get install -y --no-install-recommends \ RUN apt-get update && apt-get install -y --no-install-recommends \
gcc \ gcc \
libssl-dev \
libffi-dev \
python3-dev \
cargo \
rustc \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
# Install Python dependencies # Install Python dependencies
COPY requirements.txt . COPY requirements.txt .
RUN pip install --no-cache-dir --upgrade pip && \ 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 application files
COPY backend ./backend COPY backend ./backend