# Stage 1: Frontend bauen FROM node:20-alpine AS frontend WORKDIR /build COPY frontend/package.json frontend/package-lock.json ./ RUN npm install COPY frontend/ ./ RUN npm run build # Stage 2: Runtime — nur Python, das Frontend liegt fertig gebaut daneben FROM python:3.12-slim WORKDIR /app COPY backend/requirements.txt ./ RUN pip install --no-cache-dir -r requirements.txt COPY backend/app ./app COPY --from=frontend /backend/static ./static # Katalog und Teaser liegen im Volume, nicht im Image ENV DB_PATH=/data/horror.db RUN mkdir -p /data VOLUME /data EXPOSE 8000 CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]