diff --git a/Dockerfile b/Dockerfile index a2650bff..d93d7137 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,20 +1,19 @@ FROM oven/bun:1@sha256:0733e50325078969732ebe3b15ce4c4be5082f18c4ac1a0f0ca4839c2e4e42a7 AS builder WORKDIR /build -COPY web/default/package.json . -RUN bun install -COPY ./web/default . -COPY ./VERSION . -RUN DISABLE_ESLINT_PLUGIN='true' VITE_REACT_APP_VERSION=$(cat VERSION) bun run build +# 前端是 Bun workspace(根在 web/,含 catalog 与 bun.lock),必须从 web/ 根安装才能解析 catalog +COPY web ./web +COPY VERSION ./VERSION +WORKDIR /build/web +RUN bun install --frozen-lockfile -FROM oven/bun:1@sha256:0733e50325078969732ebe3b15ce4c4be5082f18c4ac1a0f0ca4839c2e4e42a7 AS builder-classic +# 构建 default 前端 → web/default/dist +WORKDIR /build/web/default +RUN DISABLE_ESLINT_PLUGIN='true' VITE_REACT_APP_VERSION=$(cat /build/VERSION) bun run build -WORKDIR /build -COPY web/classic/package.json . -RUN bun install -COPY ./web/classic . -COPY ./VERSION . -RUN VITE_REACT_APP_VERSION=$(cat VERSION) bun run build +# 构建 classic 前端 → web/classic/dist +WORKDIR /build/web/classic +RUN VITE_REACT_APP_VERSION=$(cat /build/VERSION) bun run build FROM golang:1.26.1-alpine@sha256:2389ebfa5b7f43eeafbd6be0c3700cc46690ef842ad962f6c5bd6be49ed82039 AS builder2 ENV GO111MODULE=on CGO_ENABLED=0 @@ -32,8 +31,8 @@ ADD go.mod go.sum ./ RUN go mod download COPY . . -COPY --from=builder /build/dist ./web/default/dist -COPY --from=builder-classic /build/dist ./web/classic/dist +COPY --from=builder /build/web/default/dist ./web/default/dist +COPY --from=builder /build/web/classic/dist ./web/classic/dist RUN go build -ldflags "-s -w -X 'github.com/QuantumNous/new-api/common.Version=$(cat VERSION)'" -o new-api FROM debian:bookworm-slim@sha256:f06537653ac770703bc45b4b113475bd402f451e85223f0f2837acbf89ab020a