# ---- 1) Arayüzü derle ---- FROM node:22-slim AS web WORKDIR /web COPY frontend/package.json frontend/package-lock.json* ./ RUN npm install --no-audit --no-fund COPY frontend/ ./ RUN npm run build # ---- 2) Backend (+ sandbox konteynerlerini başlatmak için docker CLI) ---- FROM python:3.12-slim RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates curl \ && install -m 0755 -d /etc/apt/keyrings \ && curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc \ && echo "deb [signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian bookworm stable" \ > /etc/apt/sources.list.d/docker.list \ && apt-get update && apt-get install -y --no-install-recommends docker-ce-cli \ && rm -rf /var/lib/apt/lists/* WORKDIR /app COPY backend/requirements.txt backend/requirements.txt RUN pip install --no-cache-dir -r backend/requirements.txt COPY backend/ backend/ COPY VERSION VERSION COPY benchmarks/ benchmarks/ COPY scripts/ scripts/ COPY --from=web /web/dist frontend/dist WORKDIR /app/backend EXPOSE 8000 CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]