☰
如何快速上手 open-compute ocd 命令:setup、doctor、purge 全命令速查清单与实例
2026/10/11 14:18:33 网站建设 项目流程

【免费下载链接】open-compute

Self-hosted Cloudflare Workers-compatible platform with Workers、KV、D1、R2、DO、Queues、Workflows、Cron、Cache、Images、Vectorize、AI Search、Artifacts、Static Assets、Service Bindings、Dynamic Workers、LogTail、Gateway in one Rust binary.

项目地址:https://gitcode.com/gh_mirrors/op/open-compute
点击查看免费下载

open-compute 是一个自托管的 Cloudflare Workers 兼容平台,把 Workers、KV、D1、R2、Durable Objects、Queues、Workflows、Cron、Cache、Images、Vectorize、AI Search 等能力打包进一个 Rust 编写的ocd单文件中。你只需要掌握ocd命令行,就能完成从初始化安装、部署 Worker 到诊断排障、备份恢复、彻底清除数据的全部操作。本文是一份面向新手的 ocd 命令速查手册,按"生命周期 → 安装部署 → 诊断 → 日常运维 → 删除清理"五类整理全部常用命令,并附上可复制的实例。

先理解:一个二进制文件,一个守护进程

open-compute 的核心设计是"One binary. One daemon. Isolated instances.":

  • 整个平台(运行时、控制面、调度器、全部产品绑定)都封装在一个ocd可执行文件里;
  • Worker 代码运行在内置的、经过校验的 workerd 之上,毫秒级启动;
  • 元数据用 SQLite,对象存储默认本地文件系统,可选 S3 兼容后端,不需要 Kubernetes、Redis 或 Postgres。

所有命令都围绕这个单一 daemon 展开,这也是下面所有命令的共同前提。

全局参数:先认识这 4 个开关

几乎每条命令都支持以下全局参数(定义见 crates/service/src/cli/model.rs):

参数作用
--config <路径>指定某个实例的精确配置文件(compute.toml)
--instance <ID/名称>按已注册实例 ID 或唯一显示名选择实例
--system操作"系统级" OCD(/etc/open-compute、/var/lib/open-compute),默认是用户级
--no-update-check跳过升级提醒与版本检查刷新

注意:--config与--instance互斥;ocd run、ocd setup、ocd caddy这类命令只按 scope(用户级/系统级)选择配置,不接受实例选择。

一、生命周期命令:run / start / stop / status / logs

这一组命令管理 daemon 与实例的启停,是最常用的日常操作。

ocd run # 前台启动平台进程(调试用) ocd start # 启动托管的后台服务(systemd user unit / LaunchAgent) ocd stop # 停止服务;只有 socket 消失且数据目录锁释放后才算成功 ocd restart # 重启 ocd status --json # 查看 daemon 状态,--json 输出带版本号的 JSON ocd logs --follow # 查看最近日志,--follow 持续跟踪

💡 小技巧:ocd stop有 30 秒静默(quiescent)窗口,超时未停会报错而不是假装成功;正常停止后即可安全运行离线诊断或再次start。

实例级管理:ocd instance

一个 daemon 下可以注册多个隔离实例:

ocd instances # 列出已注册实例 ocd instance setup --name shop --data-dir /abs/data/shop --yes ocd instance start shop # 按名称或 ID 启动 ocd instance stop shop ocd instance restart shop ocd instance add # 登记已初始化好的实例配置 ocd instance remove shop # 注销注册但不删配置和数据

instance setup支持--autostart(默认开,写入ocd.toml开机自启意图)和--start(默认开,注册后立即启动)。

二、安装与部署:setup 和 cf deploy

1. 安装二进制

默认以普通用户运行仓库提供的安装脚本 scripts/install.sh,二进制落在~/.local/bin/ocd,不含密钥的安装回执在~/.open-compute/install-receipt.json。需要开机级服务、特权端口时再用sudo安装并使用--system。完整流程见 安装与首次启动 Runbook。

2. 初始化:ocd setup

ocd setup --yes # 用户级:生成配置、密钥和托管服务,采用推荐默认值 sudo ocd setup --system --yes # 系统级:写入 /etc/open-compute 与 /var/lib/open-compute

ocd setup一次完成四件事:创建首台主机的配置、生成密钥、登记实例、注册托管服务;中途失败会自动回滚(rollback)。首次启动会生成平台身份、数据库和 master key,离线解压内嵌 runtime,随后/health/live与/health/ready均应成功。

3. 部署 Worker:ocd cf(原 wrangler 流程)

open-compute 的部署入口是ocd cf,它把项目内的官方 cf CLI 指向你选定的 open-compute 实例或远程目标,透传全部参数、TTY 与退出码:

ocd cf deploy # 在项目目录内部署 Worker ocd cf deploy --target prod # 部署到已登记的远程目标

ocd cf会自动解析 instance/target、定位项目node_modules/.bin/cf、校验 Node 版本并注入凭据,无需全局 CLI 或 Wrangler。项目结构可参考 examples/hello-worker/ 与 examples/hello-worker/cloudflare.config.ts,设计背景见 P20 Cloudflare CLI 迁移 与 P12 target 管理。

部署完成后,在 Dashboard 的 Account home 里可以看到 Workers、KV、D1、R2 等全部产品入口:

三、诊断与体检:doctor 与 config 检查

ocd doctor:只读体检,--full才动手

ocd doctor # 严格只读检查:目录、配置、身份、数据完整性 ocd doctor --full --json # 额外授权对象存储 canary 和临时 workerd 编译/启动/停止
  • 默认模式不初始化任何目录,可以放心运行;
  • --full包含对象存储 canary 与临时 runtime 启停,建议在平台正常停止后执行(检查项定义见 crates/service/src/doctor.rs);
  • 只要有检查项failed,命令以退出码4结束,方便脚本判断。

配置与能力检查

ocd config check --json # 只做静态解析与校验,不改任何东西 ocd config init --data-dir /abs/data # 打印一份完整起始 TOML 到 stdout ocd capabilities --json # 打印版本化的产品能力契约

启用公网 Gateway 时还有ocd config gateway-dns-plan/gateway-dns-verify/gateway-tls-probe等命令,用ocd caddy validate && ocd caddy reload生效(详见 安装 Runbook)。

四、日常运维:dashboard、cache、backup、scheduler

命令用途常用参数
ocd dashboard打开操作员 Dashboard(一次性登录 URL,不落地长期 token)--no-open只打印 URL;--json
ocd cache clean清理可再生的 daemon/实例缓存--all覆盖全部实例;--dry-run预览
ocd caddy status查看托管 Caddy 与 TLS 状态(无密钥)另有validate、reload、list-modules
ocd backup create --name rel-1.0创建并完整校验一份离线快照列表用ocd backup list
ocd backup restore --snapshot <UUIDv7>把精确版本快照恢复到全新数据目录inspect/delete/retention-plan配套
ocd support-bundle --output /abs/x.tar生成有界、已扫描密钥的支持归档配合 收集 Runbook
ocd scheduler recover-corrupt --backup-name b1隔离损坏的调度器库并重建空库见 调度器恢复 Runbook
ocd docs <name>打印内嵌的运维 runbook不带参数可列出全部

远程目标管理:ocd target

把另一台 open-compute 主机作为部署目标登记:

ocd target add prod --api-base-url https://host/client/v4 \ --instance-id <ID> --token-file /abs/owner-only/token ocd target list # 不读取、不输出任何 token ocd target test prod # 验证认证、账户发现与能力 ocd target remove prod # 只删登记记录,不删 token 文件

五、升级与清除:upgrade、uninstall、purge

这三个命令是"危险区",设计上都先打印完整计划、再要求确认:

ocd upgrade # 替换为最新稳定版并重启 daemon ocd upgrade --dry-run # 只解析校验,不替换二进制 ocd upgrade --restore # 升级中断后恢复保留的旧二进制 ocd uninstall --dry-run # 移除安装,默认保留全部实例数据 ocd uninstall --purge --yes # 连同本地状态一起不可逆删除 ocd purge --dry-run # 精确删除一个已注册实例,先打印删除计划 ocd purge --yes # 确认执行

关键安全边界(实现见 crates/service/src/instance_purge.rs 与 i53/i54 设计说明):

  • purge与uninstall --purge要求精确路径确认,配置在校验后被改动、出现符号链接或权限异常会直接 fail closed;
  • S3 上的对象数据始终保留,不会因本地 purge 被误删;
  • 备份与恢复、新鲜主机恢复的详细步骤见 备份与保留 Runbook、新主机恢复 Runbook。

退出码速查:写脚本时看这里

ocd使用固定的退出码分类(定义见 crates/service/src/exit.rs),在 CI 或自动化脚本中可直接判断:

退出码含义
0命令成功
2命令行用法/参数解析失败
3配置路径、解析或静态校验失败
4doctor 报告存在失败检查项
5run未成为存活监听进程,或关停出错

最后:把这份速查表用起来

新手推荐的黄金路径只有四步:

ocd setup --yes # 1. 初始化并启动 ocd cf deploy # 2. 在项目目录部署 Worker ocd doctor # 3. 只读体检 ocd dashboard # 4. 打开可视化控制台

更多场景——磁盘压力、workerd 崩溃循环、SQLite 损坏、master key 丢失——仓库都配有对应 runbook,可用ocd docs直接在二进制里查看,完整索引见 docs/references/runbooks/。

【免费下载链接】open-compute

Self-hosted Cloudflare Workers-compatible platform with Workers、KV、D1、R2、DO、Queues、Workflows、Cron、Cache、Images、Vectorize、AI Search、Artifacts、Static Assets、Service Bindings、Dynamic Workers、LogTail、Gateway in one Rust binary.

项目地址:https://gitcode.com/gh_mirrors/op/open-compute
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询