20 lines
707 B
Docker
20 lines
707 B
Docker
# ── Stage 1: React bauen ─────────────────────────────────────────────────────
|
|
FROM node:20-alpine AS builder
|
|
WORKDIR /build
|
|
COPY frontend/package.json ./
|
|
RUN npm install
|
|
COPY frontend/ ./
|
|
RUN npm run build
|
|
|
|
# ── Stage 2: Express liefert API + React in einem Container ──────────────────
|
|
FROM node:20-alpine
|
|
RUN apk add --no-cache tzdata python3 make g++
|
|
WORKDIR /app
|
|
COPY backend/package.json ./
|
|
RUN npm install --production
|
|
COPY backend/ ./
|
|
COPY version.txt ./version.txt
|
|
COPY --from=builder /build/dist ./public
|
|
EXPOSE 4000
|
|
CMD ["node", "src/index.js"]
|