FROM --platform=$BUILDPLATFORM node:22-alpine AS frontend-builder WORKDIR /frontend COPY frontend/package.json frontend/package-lock.json ./ RUN npm ci --include=optional --legacy-peer-deps COPY frontend/ . RUN npm run build FROM golang:1.24 AS backend-builder WORKDIR /backend COPY backend/go.mod backend/go.sum ./ RUN go mod download COPY backend/ . RUN go mod tidy RUN go build -o backend . FROM debian:bookworm-slim WORKDIR /app RUN apt-get update \ && apt-get install -y --no-install-recommends ca-certificates nginx \ && rm -rf /var/lib/apt/lists/* \ && rm -rf /var/www/html/* COPY --from=frontend-builder /frontend/dist /usr/share/nginx/html COPY --from=backend-builder /backend/backend /app/backend COPY --from=backend-builder /backend/sql /app/sql COPY nginx.conf /etc/nginx/nginx.conf COPY docker/start.sh /start.sh RUN chmod +x /start.sh EXPOSE 80 CMD ["/start.sh"]