Skip to content

Commit 79853b2

Browse files
committed
docs: align digitalocean root setup
1 parent 6ec4e5c commit 79853b2

2 files changed

Lines changed: 12 additions & 2 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,7 @@ Docs: https://docs.openclaw.ai
165165
### Fixes
166166

167167
- Control UI/chat: hide retired and non-public Google Gemini model IDs from chat model catalogs and route the bare `gemini-3-pro` alias to Gemini 3.1 Pro Preview instead of the shut-down Gemini 3 Pro Preview. Thanks @BunsDev.
168+
- CLI/install: refuse state-mutating OpenClaw CLI runs as root by default, keep an explicit `OPENCLAW_ALLOW_ROOT=1` escape hatch for intentional root/container use, and update DigitalOcean setup guidance to run OpenClaw as a non-root user. Fixes #67478. Thanks @Jerry-Xin and @natechicago.
168169
- Gateway/watch: leave `OPENCLAW_TRACE_SYNC_IO` disabled by default in `pnpm gateway:watch:raw` so watch mode avoids noisy Node sync-I/O stack traces unless explicitly requested.
169170
- Codex app-server: close stdio stdin before force-killing the managed app-server, matching Codex single-client shutdown behavior and avoiding unsettled CLI exits after successful runs.
170171
- CLI/Codex: dispose registered agent harnesses during short-lived CLI shutdown so successful Codex-backed `agent --local` runs do not leave app-server child processes alive.

docs/install/digitalocean.md

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,18 @@ DigitalOcean is the simplest paid VPS path. If you prefer cheaper or free option
5050

5151
# Install OpenClaw
5252
curl -fsSL https://openclaw.ai/install.sh | bash
53+
54+
# Create the non-root user that will own OpenClaw state and services.
55+
adduser openclaw
56+
usermod -aG sudo openclaw
57+
loginctl enable-linger openclaw
58+
59+
su - openclaw
5360
openclaw --version
5461
```
5562

63+
Use the root shell only for system bootstrap. Run OpenClaw commands as the non-root `openclaw` user so state lives under `/home/openclaw/.openclaw/` and the Gateway installs as that user's systemd service.
64+
5665
</Step>
5766

5867
<Step title="Run onboarding">
@@ -97,8 +106,8 @@ DigitalOcean is the simplest paid VPS path. If you prefer cheaper or free option
97106
**Option B: Tailscale Serve**
98107

99108
```bash
100-
curl -fsSL https://tailscale.com/install.sh | sh
101-
tailscale up
109+
curl -fsSL https://tailscale.com/install.sh | sudo sh
110+
sudo tailscale up
102111
openclaw config set gateway.tailscale.mode serve
103112
openclaw gateway restart
104113
```

0 commit comments

Comments
 (0)