# syntax=docker/dockerfile:1.4 # Builder stage: compile dependencies FROM --platform=$BUILDPLATFORM python:3.10-alpine AS builder WORKDIR /app # Install build dependencies RUN apk add --no-cache gcc musl-dev python3-dev mariadb-dev libffi-dev openssl-dev # Copy requirements and install COPY requirements.txt . RUN pip install --no-cache-dir --prefix=/install -r requirements.txt # Copy application code COPY . . # Final stage: minimal runtime image FROM python:3.10-alpine AS final WORKDIR /app # Copy installed packages from builder COPY --from=builder /install /usr/local # Copy app code COPY --from=builder /app /app # Set production environment variables ENV FLASK_ENV=production ENV FLASK_APP=run.py ENV FLASK_RUN_HOST=0.0.0.0 ENV FLASK_RUN_PORT=5000 EXPOSE 5000 CMD ["flask", "run"]