Files
prompt-optimizer/docker-compose.dev.yml
T
linshen 80977ec8a1 feat(proxy): 优化 Docker 代理功能并完善错误处理 (develop)
本次提交主要对 Docker 代理功能进行了优化,并完善了相关的错误处理逻辑。具体内容包括:

- 精确匹配 API 代理路径,使用 `location =` 确保 Nginx 配置中的代理路径精确匹配,避免被其他正则匹配拦截。
- 添加对本地主机 URL 的自动转换支持,在 Docker 容器内部访问宿主机时,自动将 `localhost`、`127.0.0.1` 等地址转换为 `host.docker.internal`。
- 优化 ModelManager 组件,将 `useDockerProxy` 选项添加到模型配置中,调整 API URL 和 API Key 的输入位置,增强用户体验。
- 完善错误处理逻辑,为 Node Proxy 服务增加更详细的错误处理,并提供统一的 JSON 错误响应格式。
- 在开发环境的 `docker-compose.dev.yml` 文件中添加 `host.docker.internal` 映射,允许容器访问宿主机。
- 更新了相关文档,包括架构对比、实施计划和设计文档,详细描述了 Docker 代理功能的实现原理和使用方法。
- 调整了文档的分类和归档方式,将经验记录归档到 archives 目录。
2025-08-17 10:37:12 +08:00

38 lines
1.3 KiB
YAML

version: '3.8'
services:
prompt-optimizer:
# 开发模式:从源码构建
build:
context: .
dockerfile: Dockerfile
container_name: prompt-optimizer-dev
restart: unless-stopped
ports:
- "8082:${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:-}