update
Some checks failed
deploy / deploy (push) Has been cancelled

This commit is contained in:
toom1996
2026-08-23 00:58:33 +08:00
parent c8d9735751
commit b274ccdfec
21 changed files with 612 additions and 380 deletions

View File

@ -3,16 +3,12 @@ FROM node:22-alpine AS build
WORKDIR /app
# 构建期 SSG 拉数据用的「后端 SSG 内部地址」。
# 在 docker-compose 里通过 build.args.SSG_API 传入(= http://localhost:8091,
# 在 docker-compose 里通过 build.args.BASE_API_SSG 传入(= http://localhost:8091,
# 配合 build.network: host,让前端构建容器能访问已启动的 backend 容器的 SSG 内部端口)。
# 该端口只绑宿主回环(127.0.0.1:8091),nginx 绝不反代,因此 SSG 全量数据不会外泄。
# SSG_API 与运行期 PUBLIC_API_BASE(8090)完全分离,二者指向不同端口。
ARG SSG_API=http://localhost:8091
ENV SSG_API=$SSG_API
# 兼容旧命名:API_SSR 仍可作为 SSG 基址(lib/ssg.ts 优先读 SSG_API)。
ARG API_SSR=http://localhost:8091
ENV API_SSR=$API_SSR
# BASE_API_SSG 与运行期 BASE_API(8090)完全分离,二者指向不同端口。
ARG BASE_API_SSG=http://localhost:8091
ENV BASE_API_SSG=$BASE_API_SSG
# SSG 内部端口的可选访问令牌(防御纵深)。仅构建期 node fetch 使用,且不带 PUBLIC_ 前缀,
# 故绝不会进入前端 bundle。置空时后端不校验(依赖回环绑定即可)。
@ -20,7 +16,7 @@ ARG SSG_TOKEN=""
ENV SSG_TOKEN=$SSG_TOKEN
# 运行期浏览器调用地址:置空 = 同源相对路径 /api(由下方 nginx 反代到 backend:8090)
ENV PUBLIC_API_BASE=""
ENV BASE_API=""
COPY package*.json ./
RUN npm ci