Skip to content

VPS 部署:让 Moltbot 7×24 小时在线

本地运行 Moltbot 适合体验和测试,但如果笔记本合盖或断网,Bot 就会停止服务。

要让 Moltbot 持续在线运行,VPS 是比较务实的选择。好消息是 Moltbot 非常轻量,最低配的服务器就能胜任。

服务器配置要求

结论是:不需要高配。 Moltbot 资源消耗很低,1 核 1G 的机器完全够用。

资源最低要求推荐配置
CPU1 核2 核(留有余量运行其他服务)
内存1 GB2 GB
硬盘10 GB SSD20 GB SSD
系统Ubuntu 22.04+Ubuntu 24.04 LTS
端口22 (SSH)再加 443(Webhook 需要)

推荐 VPS 服务商

以下服务商均经过实测,运行 Moltbot 没有问题:

Namecheap VPS — $3.88/月起,1 核 CPU / 1GB RAM / 20GB SSD,性价比很高,适合入门。年付 $46.56,比月付节省 20%。

Bluehost VPS — $4.99/月起,1 核 CPU / 2GB DDR5 RAM / 50GB NVMe 存储,不限带宽。NVMe 硬盘读写速度更快,适合对性能有一定要求的场景。

DigitalOcean — 新用户注册送 $200 / 60 天免费额度。文档质量优秀,支持一键部署 Docker,开发者友好。

从零配置服务器

购买 VPS 后,服务商会提供 IP 地址和 root 密码。打开终端:

bash
ssh root@你的服务器IP

首次连接会提示确认 fingerprint,输入 yes 即可。

1. 更新系统 + 创建用户

使用 root 运行服务是不好的实践,应创建专用用户:

bash
# 先更新系统,新机器的包版本通常较旧
apt update && apt upgrade -y

# 创建名为 moltbot 的用户
adduser moltbot
usermod -aG sudo moltbot

# 切换到新用户
su - moltbot

从这里开始,所有操作都在 moltbot 用户下进行。

2. 安装 Node.js

Moltbot 需要 Node.js 22 或以上。使用 NodeSource 安装:

bash
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
node --version  # 应该显示 v22.x

注意版本

Node 20 也能凑合用,但官方推荐 22+。别在这省事,版本不对出了 bug 你会很头疼。

3. 安装 Moltbot

bash
npx moltbot init

按提示操作,它会在 ~/.moltbot/ 下生成配置文件。

4. 配置环境变量

这一步很关键,不要将 API Key 写在配置文件中。使用环境变量:

bash
# 创建 .env 文件(后续 systemd 会用到)
cat > ~/.env << 'EOF'
ANTHROPIC_API_KEY=sk-ant-xxxxx
TELEGRAM_BOT_TOKEN=xxxxx
EOF

# 锁定权限,仅当前用户可读
chmod 600 ~/.env

为什么不写 .bashrc?因为 systemd 服务不经过 shell 登录流程,无法读取 .bashrc。使用 EnvironmentFile 才是正确做法。

5. 设置 systemd 服务

这是最关键的一步——让 Moltbot 开机自启、崩溃自动重启:

bash
sudo tee /etc/systemd/system/moltbot.service > /dev/null << 'EOF'
[Unit]
Description=Moltbot AI Assistant
After=network.target

[Service]
Type=simple
User=moltbot
WorkingDirectory=/home/moltbot
ExecStart=/usr/bin/npx moltbot start
Restart=on-failure
RestartSec=5
EnvironmentFile=/home/moltbot/.env

[Install]
WantedBy=multi-user.target
EOF

然后启动服务:

bash
sudo systemctl daemon-reload
sudo systemctl enable moltbot   # 开机自启
sudo systemctl start moltbot    # 立即启动

检查状态:

bash
sudo systemctl status moltbot

看到 active (running) 即表示成功。如果显示 failed,查看日志排查原因。

6. 防火墙

Ubuntu 自带 ufw,只开放必要端口:

bash
sudo ufw allow OpenSSH       # 确保 SSH 不会中断
sudo ufw enable              # 启用防火墙
sudo ufw status              # 确认规则

千万别暴露 3000 端口

Moltbot 的 gateway 默认监听 3000 端口。这个端口绝对不能对公网开放,否则任何人都能跟你的 Bot 对话、消耗你的 API 额度。

详见 安全配置,里面有真实泄露案例。

Docker 方案(更简便)

如果不想手动配置 Node.js 版本和 systemd,Docker 可以简化流程:

bash
# 安装 Docker
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker moltbot
# 重新登录使 docker 组生效
exit
su - moltbot

# 启动服务
docker run -d \
  --name moltbot \
  --restart unless-stopped \
  -v ~/.moltbot:/root/.moltbot \
  -e ANTHROPIC_API_KEY=sk-ant-xxxxx \
  -e TELEGRAM_BOT_TOKEN=xxxxx \
  ghcr.io/steipete/moltbot:latest

--restart unless-stopped 相当于 systemd 的 Restart=on-failure,Docker 会自动处理重启。

需要完整的 Docker Compose 配置?参考 Docker 部署指南

日志与排错

出现问题时先查看日志:

bash
# systemd 方式
sudo journalctl -u moltbot -f

# Docker 方式
docker logs -f moltbot

常见问题:

  • ANTHROPIC_API_KEY not set.env 文件路径有误,或 EnvironmentFile 配置不正确
  • ECONNREFUSED — 网络问题,检查 DNS 和防火墙
  • Permission denied — 文件权限问题,使用 chown moltbot:moltbot 修复
  • 不断重启 — 通常是 API Key 无效,去 Anthropic Console 确认

下一步

服务器部署完成后,建议继续完成以下配置:

本站为第三方教程站,与 Moltbot 官方无关