飞牛官方应用商店的ollama只能监听 127.0.0.1:11434,我的openclaw是装在docker里的,只能通过nas本身的ip设置api,导致无法使用。
启动参数所在位置:/var/apps/ai_installer/cmd/service-setup
但是文件挂载在只读区域,不能修改。如果有大神能解决只读问题,就简单多了。以下是我用的方法:
#1.控制台新增service:
创建 ollama systemd service 文件
cat > /etc/systemd/system/ollama.service << 'EOF'
[Unit]
Description=Ollama Service
After=network.target
[Service]
Type=simple
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_MODELS=/vol1/@apphome/ai_installer/models"
ExecStart=/vol1/@appcenter/ai_installer/ollama/bin/ollama serve
Restart=always
RestartSec=10
User=root
[Install]
WantedBy=multi-user.target
EOF
#2.重载 systemd
systemctl daemon-reload
停止飞牛系统管理的旧 ollama 进程
#kill 3597 进程号需要自己查询
启动我们新创建的 service
systemctl start ollama
systemctl status ollama
验证监听地址
ss -tlnp | grep 11434
#3.设置开机自启动
systemctl enable ollama
#4.解决重启冲突问题
把原来的 ollama 二进制重命名
mv /vol1/@appcenter/ai_installer/ollama/bin/ollama /vol1/@appcenter/ai_installer/ollama/bin/ollama.real
创建一个包装脚本 ,两个方法都可以,但是我用方法2成功,方法1不成功
#方法1
cat > /vol1/@appcenter/ai_installer/ollama/bin/ollama << 'WRAPPER'
#!/bin/bash
export OLLAMA_HOST=0.0.0.0:11434
exec /vol1/@appcenter/ai_installer/ollama/bin/ollama.real "$@"
WRAPPER
#方法2
sudo bash -c 'cat > /vol1/@appcenter/ai_installer/ollama/bin/ollama << "EOF"
#!/bin/bash
export OLLAMA_HOST=0.0.0.0:11434
exec /vol1/@appcenter/ai_installer/ollama/bin/ollama.real "$@"
EOF'
chmod +x /vol1/@appcenter/ai_installer/ollama/bin/ollama
#5.验证是否成功 出现*:11434
ss -tlnp | grep 11434
LISTEN 0 4096 *:11434 *:*