🖥️ 服务器部署
将 YingClaw 部署到远程服务器,实现 24/7 不间断运行,配合定时任务和消息通道,打造全天候 AI 助手。
部署方式概览
| 方式 | 适用场景 | 运维成本 |
|---|---|---|
| 🐳 Docker 部署 | 标准化容器环境 | 低 |
| 📦 直接部署 | 个人 VPS、物理机 | 中 |
| ☁️ 云服务集成 | 托管云服务 | 最低 |
环境准备
服务器最低配置
| 项目 | 最低要求 | 推荐配置 |
|---|---|---|
| CPU | 1 核 | 2 核及以上 |
| 内存 | 2GB | 4GB 及以上 |
| 磁盘 | 10GB | 20GB SSD |
| 系统 | Ubuntu 20.04+ / Debian 11+ | Ubuntu 22.04 LTS |
| Node.js | 18+ | 20 LTS |
| 网络 | 公网访问(用于 API) | 稳定带宽 |
前置安装
# Ubuntu / Debian
apt update
apt install -y nodejs npm git curl
# 确认版本
node -v # ≥ 18
npm -v
Docker 部署(推荐)
1. 拉取镜像
docker pull yingclaw/yingclaw:latest
2. 编写 docker-compose.yml
version: '3.8'
services:
yingclaw:
image: yingclaw/yingclaw:latest
container_name: yingclaw
restart: unless-stopped
volumes:
- ./workspace:/home/yingclaw/workspace
- ./config:/home/yingclaw/config
- ./.env:/home/yingclaw/.env
environment:
- TZ=Asia/Shanghai
ports:
- '3000:3000'
3. 启动
docker-compose up -d
4. 验证
docker logs yingclaw
看到启动成功日志即为部署完成。
直接部署
1. 全局安装
npm install -g yingclaw
2. 创建工作目录
mkdir -p /opt/yingclaw
cd /opt/yingclaw
3. 配置环境变量
创建 /opt/yingclaw/.env 文件:
# AI 模型 API 密钥
API_KEY=your_api_key_here
# 可选:消息通道密钥
WECHAT_ENABLED=true
# 可选:推送通知
PUSHOVER_TOKEN=your_pushover_token
PUSHOVER_USER_KEY=your_pushover_user_key
4. 使用进程守护
推荐使用 PM2 保持服务常驻:
npm install -g pm2
pm2 start yingclaw -- --daemon --log-dir /opt/yingclaw/logs
pm2 save
pm2 startup # 设置开机自启
| 命令 | 说明 |
|---|---|
pm2 status | 查看运行状态 |
pm2 logs yingclaw | 查看日志 |
pm2 restart yingclaw | 重启服务 |
pm2 stop yingclaw | 停止服务 |
运维管理
日志管理
# 查看实时日志
tail -f /opt/yingclaw/logs/yingclaw.log
# 日志轮转(保留最近 7 天)
pm2 install pm2-logrotate
备份策略
| 备份项 | 路径 | 建议频率 |
|---|---|---|
| 记忆数据 | workspace/MEMORY.md | 每日 |
| 配置文件 | config/ | 配置变更时 |
| 环境变量 | .env | 配置变更时 |
# 快速备份
tar -czf backup-$(date +%Y%m%d).tar.gz /opt/yingclaw/workspace /opt/yingclaw/config /opt/yingclaw/.env
健康检查
# 进程检查
pm2 status
# 端口检查
curl -s http://localhost:3000/health
# 磁盘检查
df -h /opt/yingclaw
安全加固
- 🔒 使用非 root 用户运行 YingClaw
- 🔑 API 密钥存于
.env文件,权限设为600 - 🛡️ 配置防火墙,仅开放必要端口
- 📋 启用操作日志,定期审计
- ⏰ 设置定时任务的超时限制
# 创建专用用户
useradd -m -s /bin/bash yingclaw
# 设置文件权限
chown -R yingclaw:yingclaw /opt/yingclaw
chmod 600 /opt/yingclaw/.env
更新升级
# Docker 方式
docker pull yingclaw/yingclaw:latest
docker-compose down && docker-compose up -d
# npm 方式
npm update -g yingclaw
pm2 restart yingclaw