# 多阶段骨架:完整多架构发布见 Q4。 # 语法阶段:Node 构建前端 → Go 编译(嵌入前端)→ distroless 运行。 FROM node:24-bookworm AS web WORKDIR /src/web COPY web/package.json web/pnpm-lock.yaml ./ RUN corepack enable && pnpm install --frozen-lockfile COPY web/ ./ RUN pnpm build FROM golang:1.27-bookworm AS build WORKDIR /src COPY go.mod go.sum ./ RUN go mod download COPY . . COPY --from=web /src/web/dist ./web/dist ENV CGO_ENABLED=0 RUN go build -tags embeddist -o /out/nixmsg ./cmd/nixmsg FROM gcr.io/distroless/static:nonroot COPY --from=build /out/nixmsg /nixmsg USER nonroot:nonroot ENTRYPOINT ["/nixmsg"] CMD ["serve"]