# Nutze Node.js als Basis
FROM node:20-alpine AS build
WORKDIR /app

# Kopiere package files und installiere Abhängigkeiten
COPY package*.json ./
RUN npm install

# Kopiere den restlichen Code (Inklusive der 1,5 GB Daten!)
COPY . .

# Baue das Frontend
RUN npm run build

# Finales Image
FROM node:20-alpine
WORKDIR /app

COPY package*.json ./
RUN npm install --production

# Kopiere das gebaute Frontend und das Backend
COPY --from=build /app/dist ./dist
COPY --from=build /app/server.cjs ./

# JETZT WIEDER REIN: Kopiere den public Ordner (wo die großen Daten liegen)
# Wir kopieren ihn direkt aus dem build-context
COPY --from=build /app/public ./public

# Der Express-Server läuft auf Port 3000
EXPOSE 3000
CMD ["node", "server.cjs"]