🚀 龙虾新手指南

Oracle免费VPS零成本部署OpenClaw+Ollama自托管AI应用完整指南

发布时间:2026-03-29 分类: 龙虾新手指南
摘要:国产Claw生态实践:零成本自托管OpenClaw指南自托管AI应用的最大障碍通常不是技术复杂度,而是服务器成本。Oracle云的永久免费套餐(4核ARM + 24GB内存)改变了这个局面——这个配置足以跑起一套完整的 Docker + Nginx + SSL + 本地大模型栈,月租费用:零。本文记录用Ollama在Oracle免费VPS上部署OpenClaw的完整过程,从开机到API可用,...

封面

国产Claw生态实践:零成本自托管OpenClaw指南

自托管AI应用的最大障碍通常不是技术复杂度,而是服务器成本。Oracle云的永久免费套餐(4核ARM + 24GB内存)改变了这个局面——这个配置足以跑起一套完整的 Docker + Nginx + SSL + 本地大模型栈,月租费用:零。

本文记录用Ollama在Oracle免费VPS上部署OpenClaw的完整过程,从开机到API可用,不绕弯路。


环境准备

目标架构:

外部请求 → Nginx (SSL终止) → OpenClaw :8080 → Ollama :11434

前置条件:


步骤一:创建ARM实例

登录Oracle Cloud控制台,进入 Compute → Instances → Create Instance

关键配置项:

  • Shape:选 VM.Standard.A1.Flex,分配4 OCPU + 24GB内存(永久免费额度上限)
  • Image:Canonical Ubuntu 22.04
  • 网络:记得下载生成的SSH私钥

实例启动后,在 Networking → Security Lists 中放行入站端口 80443。Oracle的安全组默认只开22,这步容易漏掉。


步骤二:安装Docker

# 一键安装(官方脚本,ARM兼容)
curl -fsSL https://get.docker.com | sudo sh

# 把当前用户加入docker组,避免每次sudo
sudo usermod -aG docker $USER
newgrp docker

# 验证
docker version

如果偏好手动安装:

sudo apt-get update
sudo apt-get install -y \
    apt-transport-https ca-certificates curl gnupg

curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
    | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg

echo \
  "deb [arch=arm64 signed-by=/usr/share/keyrings/docker.gpg] \
  https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" \
  | sudo tee /etc/apt/sources.list.d/docker.list

sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io

步骤三:安装并配置Nginx

sudo apt-get update
sudo apt-get install -y nginx
sudo systemctl enable --now nginx

先写一个临时的HTTP配置,用于后续Certbot验证域名:

# /etc/nginx/sites-available/openclaw
server {
    listen 80;
    server_name your_domain.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}
sudo ln -s /etc/nginx/sites-available/openclaw /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx

步骤四:申请SSL证书

sudo apt-get install -y certbot python3-certbot-nginx

# 自动申请并写入Nginx配置
sudo certbot --nginx -d your_domain.com

Certbot会自动修改Nginx配置,添加443监听和证书路径。证书90天有效,自动续期已由systemd timer处理,无需手动干预。

申请失败时先检查两点:域名A记录是否已生效(dig your_domain.com),以及80端口是否在Oracle安全组和系统防火墙(ufw)中都已放行。


步骤五:启动Ollama

docker run -d \
    --name ollama \
    --restart unless-stopped \

![配图](https://yitb.com/usr/uploads/covers/cover_guides_20260329_093307.png)

    -p 127.0.0.1:11434:11434 \
    -v ollama_data:/root/.ollama \
    ollama/ollama

注意端口绑定写的是 127.0.0.1:11434,Ollama只监听本地,不对外暴露。

拉一个模型测试:

docker exec -it ollama ollama pull qwen2.5:7b
docker exec -it ollama ollama list

验证Ollama是否正常响应:

curl http://127.0.0.1:11434/api/tags

步骤六:部署OpenClaw

创建配置文件:

# /opt/openclaw/config.yaml
server:
  port: 8080
  host: 0.0.0.0

ollama:
  base_url: http://ollama:11434
  default_model: qwen2.5:7b

启动容器,挂载配置并与Ollama容器共享网络:

docker run -d \
    --name openclaw \
    --restart unless-stopped \
    -p 127.0.0.1:8080:8080 \
    -v /opt/openclaw/config.yaml:/app/config.yaml \
    --link ollama:ollama \
    openclaw/openclaw

验证部署

# 检查容器状态
docker ps

# 测试API
curl -X POST https://your_domain.com/api \
    -H "Content-Type: application/json" \
    -d '{"input": "Hello, OpenClaw!"}'

Python调用示例:

import requests

resp = requests.post(
    "https://your_domain.com/api",
    json={"input": "Hello, OpenClaw!"}
)
print(resp.json())

浏览器访问 https://your_domain.com,能看到OpenClaw界面说明全链路通了。


常见问题

容器起不来

# 查看具体报错
docker logs openclaw
docker logs ollama

# 确认端口没有冲突
sudo ss -tlnp | grep -E '8080|11434'

SSL申请失败

# 确认DNS已解析
dig +short your_domain.com

# 确认80端口可达(在另一台机器上测)
curl -I http://your_domain.com

# 检查ufw状态
sudo ufw status

OpenClaw连不上Ollama

# 确认Ollama在运行
docker ps | grep ollama

# 从OpenClaw容器内部测试连通性
docker exec openclaw curl http://ollama:11434/api/tags

参考资料

返回首页