PicoClaw安装教程+详细部署方案:Docker一键部署vs源码部署

最近研究PicoClaw,想在自己的VPS上部署一套,用来做自动化数据处理的管道。

服务器是2核4G的Ubuntu,我有一定Linux基础,能看懂基本命令,但不是运维专业的那种。

想问一下:

  1. Docker部署和源码部署,我这个水平选哪个合适?
  2. 有没有坑要提前知道?
  3. 数据库要另外搭吗,还是有内置的?

你这个情况直接上Docker,不用想,源码部署坑多而且维护麻烦。

Docker部署步骤给你整理一下,照着抄就行:

# 1. 拉镜像
docker pull picoclaw/picoclaw:latest

# 2. 创建数据目录
mkdir -p /opt/picoclaw/data

# 3. 启动容器
docker run -d   --name picoclaw   --restart unless-stopped   -p 8080:8080   -v /opt/picoclaw/data:/app/data   -e NODE_ENV=production   picoclaw/picoclaw:latest

# 4. 查看日志确认启动成功
docker logs -f picoclaw

日志里看到 Server started on port 8080 就OK了,访问 http://你的IP:8080 进界面。

踩坑预警,亲历的:

坑1:2核4G跑AI节点会卡 — PicoClaw本身很轻量,但如果你在节点里调用本地AI模型(比如Ollama),2核4G是不够的,模型推理会把CPU打满。建议接外部API而不是本地模型,或者升配置。

坑2:默认SQLite不够用 — 并发多一点就会有写锁问题,建议从一开始就换PostgreSQL。Docker Compose起一个pg容器,改一下环境变量,比后期迁移省事多了。

坑3:端口暴露 — 8080直接暴露公网很危险,前面加Nginx做反代,顺手配HTTPS和IP白名单。2核4G的机器被当跳板挖矿一次你就知道了:sweat_smile:

Docker Compose版本给你,直接把SQLite换成PostgreSQL,推荐:

version: '3.8'
services:
  picoclaw:
    image: picoclaw/picoclaw:latest
    restart: unless-stopped
    ports:
      - "127.0.0.1:8080:8080"
    environment:
      - DATABASE_URL=postgresql://picoclaw:password@db:5432/picoclaw
    depends_on:
      - db
    volumes:
      - picoclaw_data:/app/data

  db:
    image: postgres:15-alpine
    restart: unless-stopped
    environment:
      - POSTGRES_DB=picoclaw
      - POSTGRES_USER=picoclaw
      - POSTGRES_PASSWORD=password
    volumes:
      - pg_data:/var/lib/postgresql/data

volumes:
  picoclaw_data:
  pg_data:

注意端口绑定在 127.0.0.1:8080 而不是 0.0.0.0:8080,这样外网直接访问不到,只能通过Nginx反代进来,安全很多。

谢谢各位,Docker Compose那个方案很棒,我去试了,起来了!

但是现在遇到一个问题:我想让PicoClaw调用OpenAI的API,但VPS在国内,访问不了openai.com,有没有什么方案?

@OP 几个方案:

  1. 用国产模型替代 — DeepSeek、Qwen、智谱GLM都有OpenAI兼容接口,PicoClaw里直接改BaseURL就能用,不需要访问,而且价格比OpenAI便宜很多

  2. 中转 — 有些第三方提供OpenAI接口中转,国内可以访问,按用量收费

  3. 换香港/海外VPS — 如果预算允许,换个可以直连OpenAI的机器最省事

推荐方案1,DeepSeek的能力现在真的不差,而且便宜,适合自动化任务这种高频调用场景。