# 构建 Vite 前端产物。 FROM oven/bun:1.3.13 AS web-build WORKDIR /app/web COPY web/package.json web/bun.lock ./ RUN --mount=type=cache,target=/root/.bun/install/cache bun install --cache-dir=/root/.bun/install/cache COPY VERSION /app/VERSION COPY CHANGELOG.md /app/CHANGELOG.md COPY web ./ RUN bun run build # 构建后台管理端。它最终与前台一起由同一个 Nginx 端口提供服务。 FROM oven/bun:1.3.13 AS admin-build WORKDIR /app/admin COPY admin/package.json admin/package-lock.json ./ RUN npm ci --ignore-scripts COPY admin ./ RUN npm run build # 运行镜像:只启动静态前端,AI 请求由浏览器前台直连用户自己的接口。 FROM nginx:1.27-alpine COPY --from=web-build /app/web/dist /usr/share/nginx/html COPY --from=admin-build /app/admin/dist /usr/share/nginx/html/admin COPY nginx.conf /etc/nginx/conf.d/default.conf COPY web/docker-entrypoint.sh /docker-entrypoint.d/40-runtime-config.sh RUN chmod +x /docker-entrypoint.d/40-runtime-config.sh EXPOSE 3000