跳到主要内容

Docker 连接外部 Ollama

当 Ollama 已在宿主机、其他服务器或 Tailscale/LAN 设备上运行时,请使用此配置。

Work 可用性

此 Compose 配置只会改变 Ollama 的运行位置;Work 仍通过挂载宿主机 Docker 套接字启用。该挂载向 Libre WebUI 授予等同 root 的 Docker 宿主机控制权,因此只能在 Libre WebUI 管理员同时也是可信宿主机管理员的环境中使用。Linux 上应在 .env 中将 DOCKER_GID 设为套接字所属组。不需要 Work 时请移除挂载。参阅 Work:隔离工作区

前提条件

确认 Ollama 可访问:

curl http://localhost:11434/api/version

若实例为新建,请拉取模型:

ollama pull gemma4:12b

启动 Libre WebUI

在仓库根目录运行:

docker compose -f docker-compose.external-ollama.yml up -d

打开 http://localhost:8080

Compose 文件默认将 OLLAMA_BASE_URL 指向 http://host.docker.internal:11434

自定义 Ollama URL

使用其他主机:

OLLAMA_BASE_URL=http://192.168.1.100:11434 docker compose -f docker-compose.external-ollama.yml up -d

若 Linux 宿主机无法解析 host.docker.internal,请向服务添加:

extra_hosts:
- 'host.docker.internal:host-gateway'

数据持久化

Compose 文件将 Libre WebUI 数据存储在 Docker 卷中:

  • libre_webui_data
  • libre_webui_temp

为生产环境设置稳定密钥:

JWT_SECRET=replace-with-a-long-random-secret
ENCRYPTION_KEY=replace-with-64-hex-characters

数据卷与加密密钥必须一同备份。

网络访问

仓库 Compose 文件当前直接设置了 CORS_ORIGIN。shell 或 .env 中的值不会替换该字面值。请修改 libre-webui.environment 条目,或添加显式 Compose 覆盖,例如 compose.origin.yml

services:
libre-webui:
environment:
CORS_ORIGIN: http://localhost:8080,http://192.168.1.50:8080
BASE_URL: http://192.168.1.50:8080

同时应用两个文件:

docker compose \
-f docker-compose.external-ollama.yml \
-f compose.origin.yml \
up -d

使用公共域名时,请为两个值使用完全一致的 HTTPS 源,并通过 HTTPS 终止流量。

常用命令

docker compose -f docker-compose.external-ollama.yml ps
docker compose -f docker-compose.external-ollama.yml logs -f libre-webui
docker compose -f docker-compose.external-ollama.yml restart
docker compose -f docker-compose.external-ollama.yml pull
docker compose -f docker-compose.external-ollama.yml up -d

故障排除

Libre WebUI 无法访问 Ollama

docker compose -f docker-compose.external-ollama.yml exec libre-webui \
wget -O- http://host.docker.internal:11434/api/version

若失败,请在 OLLAMA_BASE_URL 中使用明确的 LAN/Tailscale IP。

模型未显示

检查 Ollama 主机:

ollama list

模型管理器从已配置的 Ollama 实例读取数据。

CORS 错误

确保 CORS_ORIGIN 与浏览器源完全一致,包括协议和端口。

相关文档