mirror of
https://github.com/moltbot/moltbot.git
synced 2026-03-08 06:54:24 +00:00
* fix: sed escaping and UID mismatch in Podman Quadlet setup Fix two bugs in the Podman/Quadlet installation path: 1. setup-podman.sh line 227: Remove `/` from sed escape character class. The sed substitution uses `|` as delimiter, so `/` doesn't need escaping. Including it causes paths like `/home/openclaw` to become `\/home\/openclaw`, which Podman rejects as invalid volume names. 2. openclaw.container.in: Add `User=%U:%G` after `UserNS=keep-id`. The Dockerfile sets `USER node` (UID 1000), but the `openclaw` system user created by setup-podman.sh may get a different UID (e.g., 1001). Without `User=%U:%G`, the container process runs as UID 1000 and cannot read config files owned by the openclaw user. Closes #26400 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * scripts: extract quadlet sed replacement escaping helper * podman: document quadlet user mapping rationale * scripts: correct sed replacement escaping for pipe delimiter --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
29 lines
765 B
Plaintext
29 lines
765 B
Plaintext
# OpenClaw gateway — Podman Quadlet (rootless)
|
|
# Installed by setup-podman.sh into openclaw's ~/.config/containers/systemd/
|
|
# {{OPENCLAW_HOME}} is replaced at install time.
|
|
|
|
[Unit]
|
|
Description=OpenClaw gateway (rootless Podman)
|
|
|
|
[Container]
|
|
Image=openclaw:local
|
|
ContainerName=openclaw
|
|
UserNS=keep-id
|
|
# Keep container UID/GID aligned with the invoking user so mounted config is readable.
|
|
User=%U:%G
|
|
Volume={{OPENCLAW_HOME}}/.openclaw:/home/node/.openclaw
|
|
EnvironmentFile={{OPENCLAW_HOME}}/.openclaw/.env
|
|
Environment=HOME=/home/node
|
|
Environment=TERM=xterm-256color
|
|
PublishPort=18789:18789
|
|
PublishPort=18790:18790
|
|
Pull=never
|
|
Exec=node dist/index.js gateway --bind lan --port 18789
|
|
|
|
[Service]
|
|
TimeoutStartSec=300
|
|
Restart=on-failure
|
|
|
|
[Install]
|
|
WantedBy=default.target
|