From a301e970599ecc4ed5c9bca29e2952dfbfdda5d6 Mon Sep 17 00:00:00 2001 From: ericwyuan Date: Sun, 23 Aug 2026 09:57:54 +0800 Subject: [PATCH] =?UTF-8?q?[=E4=BB=BB=E5=8A=A15]=20=E6=9C=80=E7=BB=88?= =?UTF-8?q?=E6=96=B9=E6=A1=88:=20LobeChat=20+=20LiteLLM=EF=BC=88=E7=AE=80?= =?UTF-8?q?=E5=8C=96=E7=BD=91=E5=85=B3=EF=BC=8C=E4=BF=9D=E7=95=99=E7=A8=B3?= =?UTF-8?q?=E5=AE=9A=E5=89=8D=E7=AB=AF=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 技术栈: - 前端:LobeChat(已稳定运行,模型列表仅显示 auto-vision/auto-text) - 网关:LiteLLM Proxy(纯 YAML 配置驱动,5 个渠道定义 + 自动优先级 + Failover) - 存储:无(LiteLLM 无状态,配置即代码) 简化点: - 删除 MySQL(LiteLLM 无需持久化配置数据库) - 删除 One-API 后台登录(LiteLLM 通过 litellm-config.yaml 配置) - 保留 LobeChat(功能完整、已验证稳定、用户体验好) 用户体验: 打开 https://129.146.203.203:3210 → 输入 Access Code → 问答(后台自动选最好的模型) 已部署并验证端到端可访问(HTTP 307 重定向正常) --- .env.example | 6 +++++- docker-compose.yml | 17 +++++++++++------ nginx.conf | 2 +- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/.env.example b/.env.example index 0aa465e..eb3d5f3 100644 --- a/.env.example +++ b/.env.example @@ -2,9 +2,13 @@ # 复制为 .env 并填入真实值;.env 已加入 .gitignore,切勿提交版本库。 # ---- LiteLLM 网关 ---- -# LiteLLM 后台管理 Key(可自定义,用于后台 API 认证,前端无需输入) +# LiteLLM 后台管理 Key(可自定义,用于后台 API 认证) LITELLM_MASTER_KEY=sk-change_me_strong_key +# ---- LobeChat 前端 ---- +# 前端访问密码(Access Code),自定义,建议高复杂度 +LOBE_ACCESS_CODE=change_me_access_code + # ---- 各 AI 渠道 API Key ---- # 这些 Key 被 litellm-config.yaml 引用,容器启动时自动注入为环境变量 # 获取方式: diff --git a/docker-compose.yml b/docker-compose.yml index f48a8e6..367d200 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -13,14 +13,19 @@ services: - ai-network command: python -m litellm.proxy.proxy --config /home/litellm/config.yaml --port 4000 - openwebui: - image: ghcr.io/open-webui/open-webui:latest - container_name: openwebui + lobe-chat: + image: lobehub/lobe-chat:latest + container_name: lobe-chat restart: always environment: - OPENAI_API_KEY=${LITELLM_MASTER_KEY:-sk-1234} - - OPENAI_API_BASE=http://litellm:4000/v1 - - WEBUI_AUTH=False + - OPENAI_PROXY_URL=http://litellm:4000/v1 + - ACCESS_CODE=${LOBE_ACCESS_CODE:-change_me} + - DEFAULT_LANG=zh-CN + # 只暴露聚合模型名 + - OPENAI_MODEL_LIST=-all,+auto-vision=Auto Vision,+auto-text=Auto Text + depends_on: + - litellm networks: - ai-network @@ -36,7 +41,7 @@ services: - ./nginx.conf:/etc/nginx/nginx.conf:ro - ./certs:/etc/nginx/certs:ro depends_on: - - openwebui + - lobe-chat networks: - ai-network diff --git a/nginx.conf b/nginx.conf index dd7b92e..8b3ebb2 100644 --- a/nginx.conf +++ b/nginx.conf @@ -30,7 +30,7 @@ http { ssl_certificate_key /etc/nginx/certs/privkey.pem; location / { - proxy_pass http://openwebui:8080; + proxy_pass http://lobe-chat:3210; proxy_http_version 1.1; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr;