mirror of
https://github.com/linshenkx/prompt-optimizer.git
synced 2026-05-06 21:50:27 +08:00
修复 #179 ## 变更内容 ### 核心代码清理 (-2473行) - 删除 api/proxy.js、api/stream.js、api/vercel-status.js 端点 - 删除 node-proxy/ 服务器实现 - 移除 environment.ts 中的代理检测逻辑 - 简化所有图像适配器和 LLM 服务,直接使用 baseURL - 移除模型配置中的 useVercelProxy/useDockerProxy 字段 ### 基础设施更新 - 更新 Dockerfile 移除 node-proxy 构建 - 更新 nginx.conf 移除代理路由 - 更新 supervisord.conf 移除 node-proxy 进程 ### UI 优化 - 移除模型管理界面中的代理选项 - 清理国际化文件中的代理相关翻译 - 删除备份文件 ModelManager.bak.vue ### 文档同步 - 更新技术开发指南,说明功能移除原因 - 更新 Vercel 部署文档,移除代理相关说明 - 更新图像模式文档 ## 安全说明 由于内置代理存在 SSRF (服务端请求伪造) 安全风险,完全移除相关功能。 推荐用户使用: 1. 桌面版应用 (无跨域限制) 2. 自建反向代理 (完全控制) 3. LLM 提供商的 CORS 友好端点 ## 向后兼容性 历史数据中的 useVercelProxy/useDockerProxy 字段为可选,不会导致破坏性变更。
62 lines
2.0 KiB
Docker
62 lines
2.0 KiB
Docker
FROM node:20-slim AS base
|
||
ENV PNPM_HOME="/pnpm"
|
||
ENV PATH="$PNPM_HOME:$PATH"
|
||
RUN npm install -g corepack@latest && corepack enable
|
||
|
||
FROM base AS build
|
||
COPY . /app
|
||
WORKDIR /app
|
||
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile
|
||
RUN pnpm run build
|
||
RUN pnpm mcp:build
|
||
|
||
FROM nginx:stable-alpine
|
||
# 安装htpasswd工具、dos2unix和supervisor
|
||
RUN apk add --no-cache apache2-utils dos2unix supervisor nodejs npm gettext curl
|
||
|
||
# 安装pnpm
|
||
RUN npm install -g pnpm
|
||
|
||
# 复制Nginx配置
|
||
COPY docker/nginx.conf /etc/nginx/conf.d/default.conf
|
||
|
||
# 复制Web应用
|
||
COPY --from=build /app/packages/web/dist /usr/share/nginx/html
|
||
|
||
# 复制MCP服务器
|
||
COPY --from=build /app/packages/mcp-server/dist /app/mcp-server/dist
|
||
COPY --from=build /app/packages/mcp-server/package.json /app/mcp-server/
|
||
COPY --from=build /app/packages/mcp-server/preload-env.js /app/mcp-server/
|
||
COPY --from=build /app/packages/mcp-server/preload-env.cjs /app/mcp-server/
|
||
|
||
# 复制构建后的包到正确位置(MCP服务器依赖)
|
||
COPY --from=build /app/packages /app/packages
|
||
# 复制必要的node_modules
|
||
COPY --from=build /app/node_modules /app/node_modules
|
||
|
||
# 设置默认环境变量(向前兼容)
|
||
ENV NGINX_PORT=80
|
||
|
||
# 设置MCP服务器工作目录
|
||
WORKDIR /app/mcp-server
|
||
|
||
# 复制并设置启动脚本
|
||
COPY docker/generate-config.sh /docker-entrypoint.d/40-generate-config.sh
|
||
COPY docker/generate-auth.sh /docker-entrypoint.d/30-generate-auth.sh
|
||
COPY docker/supervisord.conf /etc/supervisor/conf.d/supervisord.conf
|
||
COPY docker/start-services.sh /start-services.sh
|
||
|
||
# 确保脚本有执行权限
|
||
RUN chmod +x /docker-entrypoint.d/40-generate-config.sh
|
||
RUN chmod +x /docker-entrypoint.d/30-generate-auth.sh
|
||
RUN chmod +x /start-services.sh
|
||
|
||
# 转换可能的Windows行尾符为Unix格式
|
||
RUN dos2unix /docker-entrypoint.d/40-generate-config.sh
|
||
RUN dos2unix /docker-entrypoint.d/30-generate-auth.sh
|
||
RUN dos2unix /start-services.sh
|
||
|
||
EXPOSE 80
|
||
|
||
# 使用自定义启动脚本
|
||
CMD ["sh", "/start-services.sh"] |