dedde400e1
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
39 lines
1.1 KiB
Docker
39 lines
1.1 KiB
Docker
# --- 1. Frontend bauen ---
|
|
FROM node:20-bookworm-slim AS frontend-build
|
|
WORKDIR /app
|
|
COPY frontend ./frontend
|
|
WORKDIR /app/frontend
|
|
RUN npm install && npm run build
|
|
|
|
# --- 2. Backend-Stage ---
|
|
FROM python:3.13-slim-bullseye
|
|
WORKDIR /app
|
|
|
|
# Backend-Dateien korrekt kopieren
|
|
COPY backend/app.py ./backend/app.py
|
|
COPY backend/util ./backend/util
|
|
COPY backend/auth ./backend/auth
|
|
COPY backend/tools ./backend/tools
|
|
COPY backend/admin.py ./backend/admin.py
|
|
COPY backend/templates ./backend/templates
|
|
# Store DB config in a docker-friendly location (/config), override via DB_CONFIG_PATH env if needed
|
|
COPY backend/config /config
|
|
COPY backend/requirements.txt ./requirements.txt
|
|
COPY backend/entrypoint.sh ./entrypoint.sh
|
|
|
|
# Frontend aus Build-Stage übernehmen
|
|
COPY --from=frontend-build /app/frontend/dist ./frontend/dist
|
|
|
|
# Python-Abhängigkeiten installieren
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
# Entrypoint ausführbar machen
|
|
RUN chmod +x /app/entrypoint.sh
|
|
|
|
# Flask starten
|
|
WORKDIR /app/backend
|
|
ENV PYTHONPATH=/app/backend
|
|
ENV DB_CONFIG_PATH=/config/db_config.json
|
|
EXPOSE 5000
|
|
ENTRYPOINT ["/app/entrypoint.sh"]
|