如果要实现局域网访问,或者可以访问api 11434 端口,通过我自己的测试 ,ollama 和openwebui 都在docker 容器中搭建,api 11434 端口 无论是否监听0.0.0.0 都没办法访问,具体原因不清楚,只有通过先搭建ollama 然后通过docker 搭建openwebui 才能正常访问和使用。因此 下方无论是linux window11 或macos (m1及以上)都是先搭建ollama然后 通过docker搭建openwebui。
win 和mac
##windows电脑 初次使用docker 打开控制面板,点击程序和功能,点击启用或关闭windows功能,勾选hyper-v,虚拟机平台,linux子系统,点击确认 等待更新重启。
win 和Mac ollama 下载地址:https://ollama.com/download
win和Mac docker 下载地址:https://www.docker.com/
openwebui教程地址:https://docs.openwebui.com/
win和Mac 通过终端(win:ctrl+r,输入cmd进入,mac打开终端)在docker中安装openwebui(无nvdia)
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
Ollama (11434) 监听 0.0.0.0,允许外部设备访问 API。
Open WebUI (3000) 监听 0.0.0.0,外部设备可以访问前端。
win11
测试局域网其他电脑是否可以访问,http://宿主机ip:3000 和 http://宿主机ip:11434,若无法访问请使用下方方法
终端查看ollama 11434 监听的ip:
netstat -ano | findstr :11434
看到 0.0.0.0:11434,表示监听成功,如果是127.0.0.1则需要修改。
可以输入一下命令:
ollama serve --host 0.0.0.0 --port 11434
重启ollama 再次检查:
netstat -ano | findstr :11434
输入以下命令检查 Open WebUI 的监听地址是否为127.0.0.1
还是0.0.0.0
netstat -ano | findstr :3000
检查3000端口是否监听0.0.0.0,若不是使用以下命令
停止容器
docker stop open-webui
docker rm open-webui
重新运行容器:
docker run -d -p 3000:8080 \
--add-host=host.docker.internal:host-gateway \
-v open-webui:/app/backend/data \
--env LISTEN=0.0.0.0 \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:main
重启ollama 和docker 甚至重启电脑 再次查看3000端口是否监听0.0.0.0
netstat -ano | findstr :3000
macOS
测试局域网其他电脑是否可以访问,http://宿主机ip:3000 和 http://宿主机ip:11434,若无法访问请使用下方方法
终端输入:
关闭程序:
pkill ollama
并手动暂时退出ollama
修改配置:
OLLAMA_HOST=0.0.0.0 ollama serve &
防止进程因退出终端而终止
nohup OLLAMA_HOST=0.0.0.0 ollama serve > ollama.log 2>&1 &
手动重启ollama
验证是否更改:
lsof -i :11434
显示 *:11434 或0.0.0.0:11434即可
重启openwebui
docker stop open-webui
docker rm open-webui
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always -e OLLAMA_BASE_URL=http://host.docker.internal:11434 ghcr.io/open-webui/open-webui:main
查看openwebui 监听端口和启动情况
docker ps | grep open-webui
查看是否有0.0.0.0:3000->8080/tcp open-webui
若是127.0.0.1:3000 则需要停止容器重新启动
docker stop open-webui
docker rm open-webui
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway \
-v open-webui:/app/backend/data --name open-webui --restart always \
-e BACKEND_HOST=0.0.0.0 \
ghcr.io/open-webui/open-webui:main
本地linux系统(我是ubuntu)
进入 /etc/netplan/文件目录下 修改01-netcfg.yaml文件中的网关 和dns(让你的linux可以科学上网)没有这个文件可以复制这个文件名称,并复制下方内容,去更改橙色部分内容,更改为自己局域网可以使用ip。
network:
version: 2
ethernets:
ens18:
dhcp4: false # 禁用 DHCP,使用静态 IP
addresses:
- 192.168.123.203/24 # 设置静态 IP 地址,避免linux的 ip变动
gateway4: 192.168.123.3 # 设置新的默认网关,为你可以科学上网的软路由等ip地址
nameservers:
addresses:
- 192.168.123.3 # 设置 DNS 服务器
文件命名为:01-netcfg.yaml
修改后 输入命令应用该配置:
sudo netplan apply
重启系统:reboot
安装ollama:
更新ubuntu系统
sudo apt update && sudo apt upgrade -y
下载ollama
curl -fsSL https://ollama.com/install.sh | bash
查看是否安装成功:(可以看到版本号)
ollama --version
安装docker:
安装依赖
sudo apt install -y ca-certificates curl gnupg
安装docker 官方gpg密钥
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo tee /etc/apt/keyrings/docker.asc > /dev/null
sudo chmod a+r /etc/apt/keyrings/docker.asc
添加docker软件源
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
更新软件包并安装docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
验证docker是否安装成功(可以看到版本号)
docker --version
安装openwebui
cpu版本
docker run -d \
-p 0.0.0.0:3000:8080 \
--add-host=host.docker.internal:host-gateway \
-v open-webui:/app/backend/data \
-e OLLAMA_API_BASE_URL=http://192.168.123.203:11434 \ ##这里修改成你的linux ip地址或者改为0.0.0.0也行
--name openwebui \
--restart always \
ghcr.io/open-webui/open-webui:main
Ollama 默认监听 127.0.0.1,要改为 0.0.0.0 需要手动设置:
sudo nano /etc/systemd/system/ollama.service
进入后添加橙色部分内容
[Unit]Description=Ollama Service
After=network-online.target
[Service]Environment="OLLAMA_HOST=0.0.0.0" ##在这个位置添加这一段
ExecStart=/usr/local/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"
[Install]WantedBy=default.target
修改后按ctrl +O ,然后按 回车保存 退出即可
也可以直接到
/etc/systemd/system/ollama.service 目录下去手动修改后保存即可
然后重新加载并启动
sudo systemctl daemon-reload
sudo systemctl restart ollama
查看11434监听地址:
ss -tulnp | grep 11434
AIhear 翻译工具
macOS下载地址:https://apps.apple.com/us/app/ai-hear/id6497877058?mt=12