mirror of
https://github.com/linshenkx/prompt-optimizer.git
synced 2026-05-06 21:50:27 +08:00
本次提交主要对 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 目录。
38 lines
1.3 KiB
YAML
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:-}
|
||
|