2026-01-05 20:59:54 +01:00
---
2026-01-07 21:37:05 +01:00
summary: "Linux support + companion app status"
2026-01-05 20:59:54 +01:00
read_when:
- Looking for Linux companion app status
- Planning platform coverage or contributions
2026-01-31 16:04:03 -05:00
title: "Linux App"
2026-01-05 20:59:54 +01:00
---
2026-01-31 21:13:13 +09:00
2026-01-05 20:59:54 +01:00
# Linux App
2026-01-13 07:58:47 +00:00
The Gateway is fully supported on Linux. **Node is the recommended runtime ** .
Bun is not recommended for the Gateway (WhatsApp/Telegram bugs).
2026-01-05 20:59:54 +01:00
2026-01-08 23:25:45 +01:00
Native Linux companion apps are planned. Contributions are welcome if you want to help build one.
2026-01-07 21:37:05 +01:00
2026-01-08 21:56:41 +01:00
## Beginner quick path (VPS)
2026-03-25 06:15:21 -07:00
1. Install Node 24 (recommended; Node 22 LTS, currently `22.14+` , still works for compatibility)
2026-01-31 21:13:13 +09:00
2. `npm i -g openclaw@latest`
2026-03-16 05:50:48 +00:00
3. `openclaw onboard --install-daemon`
2026-01-31 21:13:13 +09:00
4. From your laptop: `ssh -N -L 18789:127.0.0.1:18789 <user>@<host>`
2026-04-04 21:04:17 +01:00
5. Open `http://127.0.0.1:18789/` and authenticate with the configured shared secret (token by default; password if you set `gateway.auth.mode: "password"` )
2026-01-08 21:56:41 +01:00
2026-03-19 13:25:05 -07:00
Full Linux server guide: [Linux Server ](/vps ). Step-by-step VPS example: [exe.dev ](/install/exe-dev )
2026-01-08 21:56:41 +01:00
2026-01-07 21:37:05 +01:00
## Install
2026-01-31 21:13:13 +09:00
2026-01-07 21:37:05 +01:00
- [Getting Started ](/start/getting-started )
- [Install & updates ](/install/updating )
2026-01-13 07:58:47 +00:00
- Optional flows: [Bun (experimental) ](/install/bun ), [Nix ](/install/nix ), [Docker ](/install/docker )
2026-01-07 21:37:05 +01:00
## Gateway
2026-01-31 21:13:13 +09:00
2026-01-07 21:37:05 +01:00
- [Gateway runbook ](/gateway )
- [Configuration ](/gateway/configuration )
## Gateway service install (CLI)
Use one of these:
```
2026-03-16 05:50:48 +00:00
openclaw onboard --install-daemon
2026-01-07 21:37:05 +01:00
```
Or:
```
2026-01-30 03:15:10 +01:00
openclaw gateway install
2026-01-07 21:37:05 +01:00
```
Or:
```
2026-01-30 03:15:10 +01:00
openclaw configure
2026-01-07 21:37:05 +01:00
```
2026-01-21 17:45:12 +00:00
Select **Gateway service ** when prompted.
2026-01-07 21:37:05 +01:00
Repair/migrate:
```
2026-01-30 03:15:10 +01:00
openclaw doctor
2026-01-07 21:37:05 +01:00
```
## System control (systemd user unit)
2026-01-31 21:13:13 +09:00
2026-01-30 03:15:10 +01:00
OpenClaw installs a systemd **user ** service by default. Use a **system **
2026-04-04 10:32:33 +01:00
service for shared or always-on servers. `openclaw gateway install` and
`openclaw onboard --install-daemon` already render the current canonical unit
for you; write one by hand only when you need a custom system/service-manager
setup. The full service guidance lives in the [Gateway runbook ](/gateway ).
2026-01-08 21:28:40 +01:00
Minimal setup:
2026-01-07 21:37:05 +01:00
2026-01-30 03:15:10 +01:00
Create `~/.config/systemd/user/openclaw-gateway[-<profile>].service` :
2026-01-07 21:37:05 +01:00
```
[Unit]
2026-01-30 03:15:10 +01:00
Description=OpenClaw Gateway (profile: <profile>, v<version>)
2026-01-07 21:37:05 +01:00
After=network-online.target
Wants=network-online.target
[Service]
2026-01-30 03:15:10 +01:00
ExecStart=/usr/local/bin/openclaw gateway --port 18789
2026-01-07 21:37:05 +01:00
Restart=always
RestartSec=5
2026-04-04 10:32:33 +01:00
TimeoutStopSec=30
TimeoutStartSec=30
SuccessExitStatus=0 143
KillMode=control-group
2026-01-07 21:37:05 +01:00
[Install]
WantedBy=default.target
```
Enable it:
```
2026-01-30 03:15:10 +01:00
systemctl --user enable --now openclaw-gateway[-<profile>].service
2026-01-07 21:37:05 +01:00
```