- 新增 OPENAI_MODEL_LIST 环境变量:-all 去掉默认预置模型,仅 +auto-vision/+auto-text 上架,避免用户在 LobeChat 界面误选/误填各厂商原始模型或 Key - 已在 NAS 上 docker compose up -d lobe-chat 应用生效
70 lines
1.9 KiB
YAML
70 lines
1.9 KiB
YAML
version: '3.8'
|
||
|
||
services:
|
||
mysql:
|
||
image: mysql:8.0
|
||
container_name: one-api-mysql
|
||
restart: always
|
||
environment:
|
||
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
||
- MYSQL_DATABASE=oneapi
|
||
volumes:
|
||
- ./mysql-data:/var/lib/mysql
|
||
networks:
|
||
- ai-network
|
||
|
||
one-api:
|
||
image: justsong/one-api:latest
|
||
container_name: one-api
|
||
restart: always
|
||
ports:
|
||
# 3000 已被 NAS 上的 Gitea 容器占用,改用 3001;仅绑定 127.0.0.1,不对局域网/公网暴露
|
||
# 远程管理走 SSH 隧道:ssh -p 2222 -L 3001:127.0.0.1:3001 ericwyuan@192.168.50.64
|
||
- "127.0.0.1:3001:3000"
|
||
volumes:
|
||
- ./one-api-data:/data
|
||
environment:
|
||
- SQL_DSN=root:${MYSQL_ROOT_PASSWORD}@tcp(mysql:3306)/oneapi
|
||
- TZ=Asia/Shanghai
|
||
depends_on:
|
||
- mysql
|
||
networks:
|
||
- ai-network
|
||
|
||
lobe-chat:
|
||
image: lobehub/lobe-chat:latest
|
||
container_name: lobe-chat
|
||
restart: always
|
||
# 不发布主机端口:仅 Nginx 通过容器网络访问 lobe-chat:3210
|
||
environment:
|
||
- OPENAI_API_KEY=${ONE_API_TOKEN}
|
||
- OPENAI_PROXY_URL=http://one-api:3000/v1
|
||
- ACCESS_CODE=${LOBE_ACCESS_CODE}
|
||
- DEFAULT_LANG=zh-CN
|
||
# 只暴露聚合模型名,隐藏各厂商真实模型名(对应 SDD 3.2 模型映射设计)
|
||
- OPENAI_MODEL_LIST=-all,+auto-vision=Auto Vision<vision>,+auto-text=Auto Text
|
||
depends_on:
|
||
- one-api
|
||
networks:
|
||
- ai-network
|
||
|
||
nginx:
|
||
image: nginx:alpine
|
||
container_name: nginx-proxy
|
||
restart: always
|
||
ports:
|
||
# NAS 本机 80/443 已被其他服务占用(DSM/其他容器),改用 8443
|
||
# 甲骨文 frp 隧道(frpc.toml [[proxies]] name=nexusai)将公网专属端口 3210 转发到 NAS 的 8443
|
||
- "8443:443"
|
||
volumes:
|
||
- ./nginx.conf:/etc/nginx/nginx.conf:ro
|
||
- ./certs:/etc/nginx/certs:ro
|
||
depends_on:
|
||
- lobe-chat
|
||
networks:
|
||
- ai-network
|
||
|
||
networks:
|
||
ai-network:
|
||
driver: bridge
|