docs: refresh linux service docs

This commit is contained in:
Peter Steinberger
2026-04-04 10:27:09 +01:00
parent eb932d59e0
commit 0182dd1694
4 changed files with 29 additions and 19 deletions

View File

@@ -95,8 +95,8 @@ Run a persistent, always-on OpenClaw Gateway on a Raspberry Pi. Since the Pi is
<Step title="Verify">
```bash
openclaw status
sudo systemctl status openclaw
journalctl -u openclaw -f
systemctl --user status openclaw-gateway.service
journalctl --user -u openclaw-gateway.service -f
```
</Step>
@@ -146,7 +146,7 @@ sudo systemctl disable bluetooth
**Slow performance** -- Use a USB SSD instead of an SD card. Check for CPU throttling with `vcgencmd get_throttled` (should return `0x0`).
**Service will not start** -- Check logs with `journalctl -u openclaw --no-pager -n 100` and run `openclaw doctor --non-interactive`.
**Service will not start** -- Check logs with `journalctl --user -u openclaw-gateway.service --no-pager -n 100` and run `openclaw doctor --non-interactive`. If this is a headless Pi, also verify lingering is enabled: `sudo loginctl enable-linger "$(whoami)"`.
**ARM binary issues** -- If a skill fails with "exec format error", check whether the binary has an ARM64 build. Verify architecture with `uname -m` (should show `aarch64`).

View File

@@ -236,7 +236,7 @@ For the full setup guide, see [Oracle Cloud](/platforms/oracle). For signup tips
```bash
openclaw gateway status
openclaw doctor --non-interactive
journalctl -u openclaw --no-pager -n 50
journalctl --user -u openclaw-gateway.service --no-pager -n 50
```
### Port already in use

View File

@@ -146,11 +146,11 @@ Follow the wizard:
# Check status
openclaw status
# Check service
sudo systemctl status openclaw
# Check service (standard install = systemd user unit)
systemctl --user status openclaw-gateway.service
# View logs
journalctl -u openclaw -f
journalctl --user -u openclaw-gateway.service -f
```
## 9) Access the OpenClaw Dashboard
@@ -221,7 +221,7 @@ If this Pi is mostly running OpenClaw, add a service drop-in to reduce restart
jitter and keep startup env stable:
```bash
sudo systemctl edit openclaw
systemctl --user edit openclaw-gateway.service
```
```ini
@@ -236,13 +236,20 @@ TimeoutStartSec=90
Then apply:
```bash
sudo systemctl daemon-reload
sudo systemctl restart openclaw
systemctl --user daemon-reload
systemctl --user restart openclaw-gateway.service
```
If possible, keep OpenClaw state/cache on SSD-backed storage to avoid SD-card
random-I/O bottlenecks during cold starts.
If this is a headless Pi, enable lingering once so the user service survives
logout:
```bash
sudo loginctl enable-linger "$(whoami)"
```
How `Restart=` policies help automated recovery:
[systemd can automate service recovery](https://www.redhat.com/en/blog/systemd-automate-recovery).
@@ -307,8 +314,8 @@ Since the Pi is just the Gateway (models run in the cloud), use API-based models
"agents": {
"defaults": {
"model": {
"primary": "anthropic/claude-sonnet-4-20250514",
"fallbacks": ["openai/gpt-4o-mini"]
"primary": "anthropic/claude-sonnet-4-6",
"fallbacks": ["openai/gpt-5.4-mini"]
}
}
}
@@ -325,13 +332,13 @@ Onboarding sets this up, but to verify:
```bash
# Check service is enabled
sudo systemctl is-enabled openclaw
systemctl --user is-enabled openclaw-gateway.service
# Enable if not
sudo systemctl enable openclaw
systemctl --user enable openclaw-gateway.service
# Start on boot
sudo systemctl start openclaw
systemctl --user start openclaw-gateway.service
```
---
@@ -358,12 +365,12 @@ free -h
```bash
# Check logs
journalctl -u openclaw --no-pager -n 100
journalctl --user -u openclaw-gateway.service --no-pager -n 100
# Common fix: rebuild
cd ~/openclaw # if using hackable install
npm run build
sudo systemctl restart openclaw
systemctl --user restart openclaw-gateway.service
```
### ARM Binary Issues

View File

@@ -93,10 +93,10 @@ For VM hosts using `systemd`, consider:
- `TimeoutStartSec=90`
- Prefer SSD-backed disks for state/cache paths to reduce random-I/O cold-start penalties.
Example:
For the standard `openclaw onboard --install-daemon` path, edit the user unit:
```bash
sudo systemctl edit openclaw
systemctl --user edit openclaw-gateway.service
```
```ini
@@ -108,5 +108,8 @@ RestartSec=2
TimeoutStartSec=90
```
If you deliberately installed a system unit instead, edit
`openclaw-gateway.service` via `sudo systemctl edit openclaw-gateway.service`.
How `Restart=` policies help automated recovery:
[systemd can automate service recovery](https://www.redhat.com/en/blog/systemd-automate-recovery).