ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

如何升级和备份Rakazo:updater侧边车与备份脚本的运维完全指南

如何升级和备份Rakazo:updater侧边车与备份脚本的运维完全指南 如何升级和备份Rakazoupdater侧边车与备份脚本的运维完全指南【免费下载链接】rakazoOpen-source Grok Bot alternative. Choose your own model and sandbox.项目地址: https://gitcode.com/gh_mirrors/ra/rakazoRakazo 是一个自托管的开源 Grok Bot 替代品你可以自由选择模型和沙箱。当你把它部署到服务器上长期运行后两件事迟早会摆到面前如何安全升级版本、如何备份和恢复数据。本文带你用 Rakazo 自带的 updater 侧边车和备份脚本完整掌握这套运维流程——即使你是第一次管理自托管服务也能照着做。先搞清楚Rakazo 的数据藏在哪里备份之前先明确要保护什么。一个签名使用的 Rakazo 部署由四部分组成组件说明数据存放位置API长期运行的后端服务无状态Worker后台任务处理无状态Postgres消息、账号、模型配置等数据库pg_dump可导出Bot Computer每个机器人的云端电脑data/目录bot 主目录每个机器人都有自己的持久化工作区、浏览器配置和技能文件——这就是右侧面板里那台电脑背后的全部状态。它们都落在应用数据卷DATA_DIR默认data/里所以备份数据库 data/就等于备份了整个部署。一键备份backup.sh 备份脚本怎么用 开发/源码部署下项目自带了极简备份脚本 scripts/backup.sh只需一条命令./scripts/backup.sh它会做两件事用pg_dump导出 Postgres 数据库生成rakazo.sql把data/目录整体打包成homes.tgz产物写入backups/时间戳/目录。几个实用细节可选参数传入时间戳可自定义目录名如./scripts/backup.sh 20260929-test跳过文件归档设置RAKAZO_BACKUP_SKIP_HOMES1只备份数据库失败即报错数据库导出或归档失败会直接退出丢弃该次运行产生的目录即可data/不存在时只生成空归档不会报错生产备份systemd 定时任务 校验 生产单 VM 部署推荐使用 infra/compose/backup-prod.sh 搭配 systemd 定时器这是官方级的备份方案# 安装脚本为 /usr/local/sbin/rakazo-backup 并启用 rakazo-backup.timer这套方案比开发版脚本多了不少生产级细节详见 docs/self-host.md 的 Backup 章节custom 格式转储pg_dump --formatcustom生成rakazo.dump支持并行恢复自动校验每次备份后用pg_restore --list和tar -tzf验证文件完整性并生成SHA256SUMS权限收紧快照落在/var/backups/rakazo权限0600目录0700七天轮转自动清理 7 天前的旧快照定时运行rakazo-backup.timer 每天 UTC 02:15 触发带 15 分钟随机延迟和断点补跑Persistenttrue 如果部署目录不在默认的/srv/rakazo把绝对路径写入根用户可读的/etc/rakazo/backup.envRAKAZO_DEPLOY_DIR/你的/绝对/路径服务每次运行都会读取。⚠️ 提醒本地快照防的是手滑误操作不能替代加密的异地备份或云厂商快照。如何恢复restore.sh 单事务导入 恢复脚本 scripts/restore.sh 只适用于backup.sh生成的备份流程设计得很稳./scripts/restore.sh backups/时间戳启动 Postgres 并等待就绪单事务导入 SQLON_ERROR_STOPon遇到第一个错误包括表冲突就回滚绝不让导入做一半导入成功后才解压homes.tgz、启动应用服务也就是说应用服务在数据库导入成功前一直是停的不会出现数据恢复到一半就上线的尴尬。恢复前请确保rakazo数据库是空的。升级 Rakazo官方镜像与本地构建两种路径 路径一官方镜像拉取升级推荐部署使用已发布的 release 镜像时升级就是移动 tag——改.env里的RAKAZO_IMAGE_TAG然后拉新镜像重建容器命令见 docs/self-host.md 的 Upgrade 章节docker compose --env-file .env -f infra/compose/docker-compose.prod.yml pull api worker web docker compose --env-file .env -f infra/compose/docker-compose.prod.yml \ up -d --wait --pull never api worker web关键机制up --wait会等新 API 真正健康、worker 和 web 都运行起来才返回API 启动命令会先执行prisma migrate deploy迁移失败健康检查就保持红灯不会带病上线CLI 重建失败不会自动回滚需要用旧的RAKAZO_IMAGE_TAG或重新构建local再up -d --wait --pull never恢复路径二本地构建升级local tag如果部署跑在localtag 上没有注册表可拉升级方式就是更新检出后重新构建git pull GIT_SHA$(git rev-parse HEAD) docker compose --env-file .env -f infra/compose/docker-compose.prod.yml \ up -d --wait --pull never --build api worker webupdater 侧边车自动升级 一键回滚 手动升级靠敲命令而 updater 侧边车把计划 → 应用 → 回滚变成了一套带校验的 HTTP API。它运行在独立的updater容器里源码infra/updater/src/index.ts永远不重建自己——这正是升级它自己都不会打断升级流程的原因。启用 updater显式 opt-in它持有 Docker socket相当于宿主 root所以默认不启动需要专门令牌 显式启用# .env 中设置至少 32 字符的专用令牌勿与其他密钥复用 docker compose --env-file .env -f infra/compose/docker-compose.prod.yml \ --profile updater up -d --build updater它只在私有control网络上监听http://updater:7092不发布任何宿主端口除/health外的每个路由都要带 bearer 令牌恒定时间比较。五个 API 端点端点作用GET /health存活检查GET /state当前 tag、上一个 tag、检出状态POST /plan预览升级方案不改动任何东西POST /apply执行升级POST /rollback回滚到上一个版本它如何保证安全 官方仓库用git ls-remote --tags解析最新稳定 release部署的是sha-完整commit固定镜像不用会漂移的latest服务器上不跑构建失败自动恢复拉取失败不碰运行中的服务重建失败则恢复旧的环境 pin 并尝试重新部署本地缓存的旧镜像回滚从不联系注册表tag 漂移影响不了它fork 构建失败会还原升级前的分支和 commit防止后续手动--build部署到被拒绝的版本脏工作区直接拒跑检出有改动或存在未跟踪文件时任何操作都不会开始绝不回滚数据库迁移回滚后如果新版本加过迁移要么再往前升级要么恢复数据库备份——这是最重要的运维认知两个容易踩的坑RAKAZO_DEPLOY_DIR必须是 Docker 守护进程视角的绝对路径。Linux 下就是检出路径本身生产默认/srv/rakazoDocker Desktop 的 Windows/macOS 下则是 VM 挂载路径如/run/desktop/mnt/host/c/Users/you/rakazo。写错时容器能启动但看到空目录updater 只会报告没有检出叠了 Compose overlay 的部署要用RAKAZO_COMPOSE_FILE传完整文件列表把 overlay 新增的应用镜像服务写进RAKAZO_UPDATE_SERVICES如supervisor否则升级后该服务还跑着旧代码运维检查清单 ✅事项建议备份频率启用 systemd 定时器每天自动备份并保留 7 天异地备份定期把/var/backups/rakazo快照同步到加密的异地存储升级前先跑一次备份确认GET /state显示检出干净升级时优先用 updater 的/plan预览再/apply升级后检查/health的revision确认机器人电脑状态仍在回滚后数据库迁移不回退必要时恢复数据库备份镜像清理确认升级成功后再清理旧的应用镜像回滚依赖本地缓存小结Rakazo 的运维设计思路很清晰备份脚本管数据updater 侧边车管版本两者都失败关闭而非失败带病运行。开发环境用 scripts/backup.sh 和 scripts/restore.sh 就够生产环境请上 infra/compose/backup-prod.sh systemd 定时器再按需求启用 updater profile。把本文的检查清单贴在工位上你的自托管 Rakazo 就能一直稳稳地跑下去 【免费下载链接】rakazoOpen-source Grok Bot alternative. Choose your own model and sandbox.项目地址: https://gitcode.com/gh_mirrors/ra/rakazo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表