ARTICLE DETAIL

资讯详情

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

如何把 AI 员工平台 Rakazo 部署到 VPS:Caddy 自动 HTTPS 的单 VM 生产环境完整指南

如何把 AI 员工平台 Rakazo 部署到 VPS:Caddy 自动 HTTPS 的单 VM 生产环境完整指南 如何把 AI 员工平台 Rakazo 部署到 VPSCaddy 自动 HTTPS 的单 VM 生产环境完整指南【免费下载链接】rakazoOpen-source Grok Bot alternative. Choose your own model and sandbox.项目地址: https://gitcode.com/gh_mirrors/ra/rakazoRakazo 是一个开源的 AI 员工Grok Bot 替代方案平台你可以自选模型和沙箱在 Web、桌面和移动端运行拥有持久记忆、浏览器与终端的机器人助手。本文带你在一台 VPS 上完成 Rakazo 自托管部署使用 Caddy 反向代理自动签发 HTTPS 证书搭出可用的单 VM 生产环境。部署架构一览单 VM 上跑了什么Rakazo 不是静态站点它是一组长期运行的服务。生产 Compose 文件 docker-compose.prod.yml 在一台 VM 上同时拉起服务作用是否暴露公网postgres业务数据库仅在内网data网络否api核心 API含/api、/rpc路由否workerGraphile 后台任务唤醒、例行任务否webWeb 应用预览服务否caddy反向代理 自动 HTTPS唯一公网入口是80/443机器人计算机默认使用远程沙箱 E2BSANDBOX_PROVIDERe2bVM 本身不跑浏览器容器、也不暴露 Docker 守护进程这是官方推荐的公网拓扑。部署前准备清单VPS、域名与密钥开始之前确认你已准备好以下 4 项一台干净的 Ubuntu VPS建议 4C8G 起步机器人计算机走远程沙箱时压力不大一个已指向该 VM 的域名例如app.example.com模型 API Key例如OPENROUTER_API_KEY也支持 OpenAI 兼容自建模型沙箱 Provider 账号默认 E2B对应E2B_API_KEY完整的环境变量说明可查阅 self-host.md 和 self-host-secrets.md。第一步主机加固与 Docker 环境在首次登录 VM 前先创建只允许密钥登录的deploy账号然后执行仓库自带的幂等加固脚本 harden-host.sh。它会禁用 SSH 密码和 root 登录、限速 SSH、用 UFW 只放行 SSH/HTTP/HTTPS、启用 fail2ban、自动安全更新、AppArmor 与内核网络保护sudo DEPLOY_USERdeploy bash infra/compose/harden-host.sh⚠️ 脚本会重载 SSH 服务——保持云厂商控制台窗口打开确认能新开一个 SSH 会话后再关闭旧连接。接着安装 Docker Engine 26 与 Compose 插件并应用仓库提供的守护进程配置 docker-daemon.json容器日志限长、live-restore、禁止提权sudo cp infra/compose/docker-daemon.json /etc/docker/ sudo systemctl restart docker第二步DNS 解析与防火墙放行在域名服务商处把app.example.com的A/AAAA记录指向 VM 公网 IP。Caddy 自动签证书需要放行TCP 80、TCP 443 和 UDP 443HTTP/3——UFW 规则在加固脚本中已配好云厂商安全组记得同步放行。第三步生成密钥并配置 .env在仓库根目录创建根级.env生产环境专用切勿提交到 Git。密钥建议直接用openssl生成openssl rand -hex 16 # 用于 POSTGRES_PASSWORD openssl rand -hex 32 # 用于下面 3 个密钥核心配置示例域名请替换为你自己的NODE_ENVproduction RAKAZO_HOSTapp.example.com BETTER_AUTH_URLhttps://app.example.com WEB_ORIGINhttps://app.example.com API_URLhttps://app.example.com POSTGRES_PASSWORDopenssl rand -hex 16 BETTER_AUTH_SECRETopenssl rand -hex 32 ENCRYPTION_KEYopenssl rand -hex 32 SCREEN_PROXY_SECRETopenssl rand -hex 32 OPENROUTER_API_KEY你的模型密钥 SANDBOX_PROVIDERe2b E2B_API_KEY你的E2B密钥 SIGNUPS_ENABLEDtrue SIGNUP_ALLOWLISTyouexample.com RAKAZO_DEPLOY_DIR/srv/rakazo RAKAZO_IMAGE_TAGlocal几个关键点三个公开 Origin 必须一致Cookie 与 CORS 都跟随这三个地址Caddy 也按RAKAZO_HOST匹配域名见 Caddyfile.prod。.env放在/srv/rakazo生产默认部署目录数据库密码使用 URL 安全的十六进制值。公开部署请配置邮件SMTP 注册白名单且要在 API首次启动前配好例如SMTP_URLsmtps://smtp-user:passwordsmtp.example.com:465 EMAIL_FROMRakazo no-replyexample.com第四步构建镜像并启动 Caddy 反向代理首次部署必须从本地源码构建默认标签local不存在于任何镜像仓库然后启动并等待健康检查通过docker compose --env-file .env -f infra/compose/docker-compose.prod.yml \ build --build-arg GIT_SHA$(git rev-parse HEAD) docker compose --env-file .env -f infra/compose/docker-compose.prod.yml \ up -d --wait --pull neverGIT_SHA构建参数让/health接口能上报当前版本方便日后排障。API 容器启动时会先执行prisma migrate deploy迁移失败会保持健康检查红灯避免带病上线。Caddy 在启动时会自动向 Lets Encrypt 申请并续期证书/api、/rpc转发到 API其余流量转发到 Web并开启 zstd/gzip 压缩。第五步健康检查与首次登录浏览器或命令行验证公网端点curl --fail https://app.example.com/health返回正常后打开https://app.example.com第一个注册的用户将成为部署所有者因此请用自己的白名单邮箱注册。随后在设置中连接模型给机器人发一条消息即可开始对话。生产环境进阶配置按需开启️ 本机 Docker 机器人计算机不想用 E2B 时叠加 docker-compose.prod.docker.yml 覆盖层在 VM 本地以容器运行机器人桌面默认 Docker 计算机SANDBOX_PROVIDERdocker需额外设置SANDBOX_SUPERVISOR_TOKEN。 自动更新侧车可选的updaterprofile 通过私有网络提供/apply、/rollback接口支持一键升级与回滚需要独立的RAKAZO_UPDATER_TOKEN32 字符以上。 定时备份将 backup-prod.sh 安装为/usr/local/sbin/rakazo-backup启用 rakazo-backup.timer每日 02:15 UTC 随机延迟产出带校验的 Postgres dump 与应用数据归档保留 7 天。本地快照之外仍建议搭配对象存储做异地加密备份。 移动端接入iOS/Android 应用在登录页选择Use a custom server填入与WEB_ORIGIN相同的 HTTPS 地址即可连接你的自托管实例。部署完成检查清单检查项命令 / 操作期望结果健康端点curl https://app.example.com/health返回 200 且含 revision证书状态浏览器地址栏锁标志 Lets Encrypt 证书端口暴露docker compose ... ps仅 Caddy 占用 80/443自动续期caddy certs查看证书有效期约 90 天备份systemctl status rakazo-backup.timeractive (waiting)至此你已拥有一套 Caddy 自动 HTTPS、数据库不暴露公网、带定时备份的 Rakazo 单 VM 生产环境。后续升级只需更新代码后重新buildup -d --wait --pull never详见 self-host.md 的 Upgrade 章节。【免费下载链接】rakazoOpen-source Grok Bot alternative. Choose your own model and sandbox.项目地址: https://gitcode.com/gh_mirrors/ra/rakazo创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表