Install 导读

用 rootless Podman 跑网关,主机 CLI 当控制面板

先跑 `./scripts/podman/setup.sh` 完成一次性构建和配置,再 `./scripts/run-openclaw-podman.sh launch` 启动容器。日常管理用 `openclaw --container openclaw` 命令,不需要 `sudo` 或 `podman exec`。最容易漏的是:setup 脚本不会把整个 `.env` 传给 Podman,只读白名单里的变量,自定义环境变量要显式传。

先讲这一页到底在解决什么

用 rootless Podman 跑网关,主机 CLI 当控制面板

先跑 `./scripts/podman/setup.sh` 完成一次性构建和配置,再 `./scripts/run-openclaw-podman.sh launch` 启动容器。日常管理用 `openclaw --container openclaw` 命令,不需要 `sudo` 或 `podman exec`。最容易漏的是:setup 脚本不会把整个 `.env` 传给 Podman,只读白名单里的变量,自定义环境变量要显式传。

原文共 9 节,先看 Start Here 路径:/install/podman 查看官方原文

第一站

🎮 先记住这条路线的世界观:盒子在跑,遥控器在你手上

官方把 intended model 写得很清楚,翻成人话就是四句话。

📦

Podman 跑容器

Gateway 住在 rootless 盒子里。

🎛️

Host CLI 当控制台

你平时还是用宿主机上的 openclaw 遥控它。

🏠

状态住在宿主机

~/.openclaw 才是家,容器只是值班箱。

🚫

不鼓励天天 podman exec

官方希望你用正常 CLI,而不是把自己困在容器壳里手工敲。

第二站

🚀 Quick start 就是“三步点亮盒子,再把遥控器对准它”

这条路线的命令都很像舞台指令。

./scripts/podman/setup.sh

像先把盒子、初始配置、token、小环境都准备好。

./scripts/run-openclaw-podman.sh launch

像正式把盒子启动,开始值班。

./scripts/run-openclaw-podman.sh launch setup

像启动时顺手拉 onboarding 老师进来,带你做第一次布置。

export OPENCLAW_CONTAINER=openclaw

像把遥控器默认频道调到这只盒子,以后普通 openclaw 命令就会自动朝它发。

第三站

🧷 macOS Podman SSH tunnel 那段,是“因为盒子机房不在本机,所以要额外拉一根电话线”

这是 Podman on macOS 最容易让人迷糊的点。

📌 为什么要隧道

Podman machine 会让浏览器看起来不像真正本地访问,所以控制台可能误判设备来源。

ssh -N -L 28889:127.0.0.1:18789 ...

像重新拉一根更清楚的本地电话线,把容器里的控制台牵到你 Mac 上的 28889 端口。

gateway.controlUi.allowedOrigins

像先把这条新电话线的门牌登记进白名单,免得控制台说“我不认识你”。

🎈 一句话

Podman on macOS 时,SSH 隧道不是多余动作,而是让“本地访问真的像本地访问”。

第四站

🧰 Quadlet 和配置存储,说白了就是“要不要让盒子开机自启,以及家当放哪”

这也是 Podman 路线和 Docker 路线最像的一块。

./scripts/podman/setup.sh --quadlet

像请 systemd 这位值班主任接手,负责以后自动叫醒这只盒子。

~/.openclaw

真正的家在这里,配置、token、workspace 都靠它长期保存。

--userns=keep-id

像让容器里那位工人的身份尽量和外面这位主人对齐,少出权限扯皮。

🎈 收尾一句

Podman 这条路的精髓,是“容器很隔离,操作却尽量像日常 CLI”。