快速单机部署ollama v0.5.7 +openwebui(免去网络环境干扰)
1 概述
本文介绍在一台机器上快速部署测试ollama和openwebui,免去国内网络环境的干扰。
2 环境
2.1 环境
版本信息如下:
a、操作系统:centos 7.9
c、docker版本:20.10.5-3
3 部署
3.1 安装docker
yum install -y yum-utils device-mapper-persistent-data lvm2
yum install yum-utils -y
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum list docker-ce --showduplicates
yum install docker-ce-cli-20.10.5-3.el7 docker-ce-20.10.5-3.el7 -y
mkdir -p /etc/docker
cat > /etc/docker/daemon.json << EOF
{
"max-concurrent-downloads": 10,
"log-driver": "json-file",
"log-level": "warn",
"log-opts": {
"max-size": "100m",
"max-file": "3"
},
"live-restore": true,
"exec-opts": ["native.cgroupdriver=systemd"]
}
EOF
systemctl daemon-reload
systemctl enable docker
systemctl restart docker
3.2 部署ollama v0.5.7
获取ollama二进制文件:
docker run --rm -v /tmp:/mnt swr.cn-south-1.myhuaweicloud.com/migrator/ollama-bin:0.5.7 cp /ollama /mnt
mv /tmp/ollama /usr/bin/
ollama -v
将ollama纳入systemd管理:
cat > /etc/systemd/system/ollama.service << EOF
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
Environment="HOME=/root"
ExecStart=/usr/bin/ollama serve
Restart=always
RestartSec=3
[Install]
WantedBy=default.target
EOF
启动ollama并开启自启动:
systemctl enable ollama
systemctl start ollama
systemctl status ollama
ollama服务监听在lo网卡上。
3.2 部署open webui
通过构建好的open webui镜像来启动服务,免去build过程(时间很长导致容器几分钟都不能就绪)。
docker run -d --name webui --net=host -e OLLAMA_BASE_URL=http://localhost:11434 -e HF_ENDPOINT=https://hf-mirror.com -e OPENAI_API_KEY=None -e OPENAI_API_BASE_URL=None swr.cn-south-1.myhuaweicloud.com/migrator/open-webui:main-done
openwebui监听在宿主机的8080端口,在浏览器上访问该端口即可。
4 小结
本文介绍在一台机器上快速测试ollama和openwebui,ollama二进制文件是从容器镜像中获取,消除了官方文档脚本从外国服务器拉取文件的过程。openwebui的镜像是经过前端构建的,免去第一次启动时的build过程(国内环境会导致容器长时间不就绪)。