Docker(社区维护)
仓库里的 Docker 部署外挂3rd/docker/
是社区维护、非官方支持的薄封装:一个 Linux 容器,跑的是未改动的
官方部署——systemd 作为 PID 1 带真实 user manager、官方
systemd/[email protected] + [email protected] user unit、可编辑 CLI 安装和
幂等的 orbi setup。它不是第二套部署模型:有 systemd user
session 的 Linux 主机请始终优先走官方路径
(见快速开始)——两条路径二选一,不要对同一个
任务池并存。
什么时候用它
- 宿主机没有 user systemd session(NAS、容器平台、受限的云主机)但 能跑 Docker。
- 想把 runner 与宿主机用户会话隔离。
快速开始
docker run,不需要 compose(runner 是单一服务)。
--cgroupns=host 加 /sys/fs/cgroup 读写 bind 让 systemd 能以
PID 1 身份在容器内运行——默认 private cgroupns 下创建 /init.scope
会失败(已实证;无需 --privileged)。
GitHub token
经环境变量注入、运行时写入 deploy home 的 env 文件——绝不进镜像层;
git 数据走 HTTPS transport,凭据由 gh credential helper 提供。全部
状态(orbi checkout、配置、运行时状态、交付 checkout 与 worktree)
都在两个 volume 里,容器重建不丢,幂等 setup 在下次启动时重新收敛。
完整契约——环境变量、生成的配置、模型 provider 配置、日常操作、
故障与修复表——见
3rd/docker/README.md。
边界
- 只做薄封装:不碰
src/orbi/核心代码,容器内撞到的阻塞性问题另开 核心 Issue。 - 仅 Linux;不做 compose、多容器编排、镜像自动更新;不进 PyPI 发布 包、不进 getting-started 主路径。
- 社区维护:官方 Issue 优先处理核心 systemd 路径。