Moltbot Linux 部署

在 Linux 上将 Moltbot 作为 systemd 服务运行,实现可靠的持续运行。

太长不看

# 安装 git clone https://github.com/moltbot/moltbot.git cd moltbot && pnpm install # 配置(创建配置和工作空间) pnpm moltbot setup # 启用 lingering(退出登录后保持服务运行) sudo loginctl enable-linger $USER # 启动 systemctl --user start moltbot systemctl --user enable moltbot

环境要求

  • Linux (Ubuntu 22.04+, Debian 12+, 或类似版本)
  • Node.js >= 22
  • pnpm
  • systemd (大多数发行版自带)

安装

1. 安装 Node.js

# 使用 NodeSource(推荐) curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - sudo apt-get install -y nodejs # 安装 pnpm npm install -g pnpm

2. 克隆并构建

git clone https://github.com/moltbot/moltbot.git cd moltbot pnpm install

3. 运行配置

pnpm moltbot setup

这会创建:

  • ~/.clawdbot/moltbot.json - 你的配置
  • ~/clawd - 你的工作空间目录

4. 连接渠道

pnpm moltbot channels login

按照提示认证你的消息平台。

Systemd 用户服务

Moltbot 默认安装为 systemd 用户服务。这意味着:

  • 在你的用户账户下运行
  • 凭证保存在你的主目录中
  • 使用 systemctl --user 控制

启用 Lingering

默认情况下,systemd 会在你退出登录时停止用户服务。要保持 Moltbot 运行:

sudo loginctl enable-linger $USER
重要提示:如果不启用 lingering,断开 SSH 时 Moltbot 会停止!

服务命令

# 启动服务 systemctl --user start moltbot # 停止服务 systemctl --user stop moltbot # 重启服务 systemctl --user restart moltbot # 启用开机自启 systemctl --user enable moltbot # 检查状态 systemctl --user status moltbot # 查看日志 journalctl --user -u moltbot -f

系统服务(多用户/服务器)

对于持续运行的服务器或多用户配置,使用系统服务:

创建系统服务文件

sudo nano /etc/systemd/system/moltbot.service
[Unit] Description=Moltbot Gateway After=network.target [Service] Type=simple User=moltbot Group=moltbot WorkingDirectory=/opt/moltbot ExecStart=/usr/bin/node /opt/moltbot/dist/gateway/index.js Restart=always RestartSec=10 Environment=NODE_ENV=production [Install] WantedBy=multi-user.target

创建服务用户

sudo useradd -r -s /bin/false moltbot sudo mkdir -p /opt/moltbot sudo chown moltbot:moltbot /opt/moltbot

安装并启动

# 复制文件 sudo cp -r . /opt/moltbot/ sudo chown -R moltbot:moltbot /opt/moltbot # 启用并启动 sudo systemctl daemon-reload sudo systemctl enable moltbot sudo systemctl start moltbot

配置

配置文件位置

  • 用户服务: ~/.clawdbot/moltbot.json
  • 系统服务: /opt/moltbot/.clawdbot/moltbot.json /etc/moltbot/config.json

配置示例

{ "workspace": "~/clawd", "gateway": { "port": 18789, "host": "127.0.0.1" }, "channels": { "telegram": { "enabled": true, "tokenFile": "~/.clawdbot/credentials/telegram-token" } } }

文件位置

内容用户服务系统服务
配置~/.clawdbot/moltbot.json/etc/moltbot/config.json
凭证~/.clawdbot/credentials//var/lib/moltbot/credentials/
会话~/.clawdbot/agents//var/lib/moltbot/agents/
日志/tmp/moltbot/ or journalctl/var/log/moltbot/
工作空间~/clawd/var/lib/moltbot/workspace/

防火墙配置

如果使用防火墙,允许 Gateway 端口:

# UFW sudo ufw allow 18789/tcp # firewalld sudo firewall-cmd --add-port=18789/tcp --permanent sudo firewall-cmd --reload
除非你在不同机器上运行界面,否则 Gateway 只需要本地访问。

健康检查

验证你的安装:

pnpm moltbot health

或创建一个简单的健康检查脚本:

#!/bin/bash curl -s http://127.0.0.1:18789/health || exit 1

更新

用户服务

cd ~/moltbot git pull pnpm install systemctl --user restart moltbot

系统服务

cd /opt/moltbot sudo -u moltbot git pull sudo -u moltbot pnpm install sudo systemctl restart moltbot

常见问题

退出登录时服务停止
sudo loginctl enable-linger $USER
凭证权限被拒绝
ls -la ~/.clawdbot/ # 应由你的用户拥有 # 如需修复: chown -R $USER:$USER ~/.clawdbot/
服务无法启动
journalctl --user -u moltbot -n 50

常见原因:

  • 找不到 Node.js(检查 PATH)
  • 端口已被占用
  • 配置文件语法错误
内存不足

在服务中添加内存限制:

[Service] MemoryMax=512M

下一步

Linux 服务器部署 | Moltbot 安装指南