fix: Docker 构建改用 npm 替代 pnpm + 补全 OAuth/Redis 环境变量

- Dockerfile 全部改为 npm install + 全局 tsc,解决 pnpm 符号链接问题
- docker-compose 添加 Redis 服务、OAuth 环境变量透传、web 端口改为可配置
- MCP URL 改用 window.location.origin 适配反向代理
- tsconfig 添加 paths 映射解决 Docker 内模块引用

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-03 17:24:52 +08:00
parent 8b6aeb28b1
commit 5e6efdaf59
12 changed files with 553 additions and 63 deletions

View File

@@ -1,14 +1,16 @@
FROM node:20-alpine AS build
RUN corepack enable && corepack prepare pnpm@latest --activate
WORKDIR /app
WORKDIR /app/packages/web
COPY pnpm-lock.yaml pnpm-workspace.yaml package.json ./
COPY packages/web/package.json packages/web/
RUN pnpm install --frozen-lockfile --filter @agent-fox/web...
COPY packages/web/package.json ./
RUN npm install
COPY packages/web/ packages/web/
COPY tsconfig.base.json ./
RUN pnpm --filter @agent-fox/web build
COPY packages/web/src/ ./src/
COPY packages/web/index.html ./
COPY packages/web/vite.config.ts ./
COPY packages/web/tsconfig.json ./
COPY tsconfig.base.json /app/
RUN npx vite build
FROM nginx:alpine
COPY --from=build /app/packages/web/dist /usr/share/nginx/html