Files
prompt-optimizer/docker-compose.dev.yml
T
linshen 1ad32ca217 refactor: 完全移除 Vercel/Docker 代理功能以修复 SSRF 安全漏洞
修复 #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 字段为可选,不会导致破坏性变更。
2025-09-30 22:08:00 +08:00

37 lines
1.3 KiB
YAML

services:
prompt-optimizer:
# 开发模式:从源码构建
build:
context: .
dockerfile: Dockerfile
image: linshen/prompt-optimizer:dev
container_name: prompt-optimizer-dev
restart: unless-stopped
ports:
- "28082:${NGINX_PORT:-80}" # Web应用端口(包含MCP服务器,通过/mcp路径访问)
extra_hosts:
- "host.docker.internal:host-gateway" # 允许容器访问宿主机
env_file:
- .env.local # 读取本地环境变量文件
healthcheck:
test: ["CMD", "sh", "-c", "curl -f http://localhost:${NGINX_PORT:-80}/ && curl -f http://localhost:${NGINX_PORT:-80}/mcp"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
environment:
# nginx内部端口配置
- NGINX_PORT=${NGINX_PORT:-80}
# Web应用API配置(从 .env.local 读取,不在此处覆盖)
# MCP服务器配置(Docker内部固定端口3000,忽略MCP_HTTP_PORT环境变量)
# - MCP_LOG_LEVEL=${MCP_LOG_LEVEL:-debug}
# - MCP_DEFAULT_LANGUAGE=${MCP_DEFAULT_LANGUAGE:-zh}
# - MCP_DEFAULT_MODEL_PROVIDER=${MCP_DEFAULT_MODEL_PROVIDER:-openai}
# Basic认证配置(可选)
- ACCESS_USERNAME=${ACCESS_USERNAME:-admin}
- ACCESS_PASSWORD=${ACCESS_PASSWORD:-123456}