# 构建静态文件
FROM node:20-alpine AS build
WORKDIR /app

# OIDC 配置在构建期固化（Vite 只认 VITE_* 变量），由流水线 --build-arg 注入
ARG VITE_OIDC_AUTHORITY
ARG VITE_OIDC_CLIENT_ID
ARG VITE_OIDC_SCOPE
ENV VITE_OIDC_AUTHORITY=$VITE_OIDC_AUTHORITY \
    VITE_OIDC_CLIENT_ID=$VITE_OIDC_CLIENT_ID \
    VITE_OIDC_SCOPE=$VITE_OIDC_SCOPE

COPY package.json package-lock.json ./
RUN npm ci
COPY . .
RUN npm run build

# 纯静态托管：只做 SPA 回退；接口反代由测试环境统一 nginx 负责，本容器不感知后端。
# 固定 1.26：最新 nginx:alpine(1.31/Alpine15) 在本机老内核(3.10)+seccomp 下
# 守护进程写 pid 报 EPERM，1.26 与现网容器同代、实测正常。
FROM nginx:1.26-alpine
COPY --from=build /app/dist /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf
