open-webui无法链接ollama 报错ERROR:apps.ollama.main:Connection error: Cannot connect

一个问题找了很久,网上没有现成的答案,我来写一个,方便再遇到的人

一、问题

1. ollama是使用官方 curl -fsSL https://ollama.com/install.sh | sh  安装的
2.  open-webui是docker启动,docker正常启动,使用github推荐的

# WebUI与ollama在同一台机器:
sudo docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

# WebUI与ollama不在同一台机器:
docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=https://example.com -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

# 访问方法: 
http://localhost:3000

3. open-webui正常可以访问,但是无法找ollama的的model也无法下载模型,查看open-webui的日志,发现

open-webui无法链接ollama 报错ERROR:apps.ollama.main:Connection error: Cannot connect 127.0.0.1无法访问

二、 问题的原因

ollama服务默认配置启动,只允许127.0.0.1:11434访问,其他跨IP都拒绝

docker里面使用127.0.0.1是访问自己的IP是不会访问到宿主机上来的,所以,怎么改配置都没有用

三、解决办法

1. open-webui使用主机网络,即可

sudo docker run -d --network=host -v open-webui:/app/backend/data -e OLLAMA_BASE_URL=http://127.0.0.1:11434 --name open-webui --restart always ghcr.io/open-webui/open-webui:main

2. 修改启动配置

 默认ollama绑定在127.0.0.1的11434端口,修改/etc/systemd/system/ollama.service,在[Service]下添加如下内容,使ollama绑定到0.0.0.0的11434端口

Environment="OLLAMA_HOST=0.0.0.0"

 sudo systemctl daemon-reload

sudo systemctl restart ollama

 

posted @ 2024-06-06 15:49  千年寒冰火  阅读(892)  评论(0编辑  收藏  举报