FROM docker.io/node:22-alpine AS client-cms-build RUN apk add just -y RUN npm install -g corepack && \ corepack enable WORKDIR /app ENV VITE_APP_BASE_URL=$CLIENT_BASE_URL COPY . . RUN just build-client-cms FROM docker.io/busybox:1.37 AS client-cms WORKDIR /app COPY --from=client-build /app/.outputs/client/cms/dist . EXPOSE 3000 ENTRYPOINT ["httpd", "-f", "-p", "3000", "-h", "/app", "-v"] FROM docker.io/golang:1.25.5-alpine AS backend-build WORKDIR /app COPY . /app RUN go mod tidy && \ go build -o /app/nixcn-cms FROM docker.io/alpine:3.23 AS backend WORKDIR /app COPY --from=backend-build /app/nixcn-cms /app/nixcn-cms EXPOSE 8000 ENTRYPOINT [ "/app/nixcn-cms" ]