Platforms overview

Linux-App

Der Gateway wird unter Linux vollständig unterstützt. Node ist die empfohlene Runtime. Bun wird für den Gateway nicht empfohlen (WhatsApp-/Telegram-Fehler).

Native Linux-Begleit-Apps sind geplant. Beiträge sind willkommen, wenn Sie beim Bau einer solchen App helfen möchten.

Schnellstart für Einsteiger (VPS)

  1. Installieren Sie Node 24 (empfohlen; Node 22 LTS, derzeit 22.19+, funktioniert aus Kompatibilitätsgründen weiterhin)
  2. npm i -g openclaw@latest
  3. openclaw onboard --install-daemon
  4. Von Ihrem Laptop aus: ssh -N -L 18789:127.0.0.1:18789 <user>@<host>
  5. Öffnen Sie http://127.0.0.1:18789/ und authentifizieren Sie sich mit dem konfigurierten gemeinsamen Secret (standardmäßig Token; Passwort, wenn Sie gateway.auth.mode: "password" gesetzt haben)

Vollständige Linux-Server-Anleitung: Linux-Server. Schrittweises VPS-Beispiel: exe.dev

Installation

Gateway

Gateway-Dienst installieren (CLI)

Verwenden Sie eines hiervon:

Code
openclaw onboard --install-daemon

Oder:

Code
openclaw gateway install

Oder:

Code
openclaw configure

Wählen Sie bei der Eingabeaufforderung Gateway-Dienst aus.

Reparieren/migrieren:

Code
openclaw doctor

Systemsteuerung (systemd-Benutzereinheit)

OpenClaw installiert standardmäßig einen systemd-Benutzerdienst. Verwenden Sie einen Systemdienst für gemeinsam genutzte oder dauerhaft laufende Server. openclaw gateway install und openclaw onboard --install-daemon rendern bereits die aktuelle kanonische Einheit für Sie; schreiben Sie nur dann eine von Hand, wenn Sie ein benutzerdefiniertes System-/Service-Manager- Setup benötigen. Die vollständige Dienstanleitung finden Sie im Gateway-Runbook.

Minimales Setup:

Erstellen Sie ~/.config/systemd/user/openclaw-gateway[-<profile>].service:

Code
[Unit]Description=OpenClaw Gateway (profile: <profile>, v<version>)After=network-online.targetWants=network-online.target [Service]ExecStart=/usr/local/bin/openclaw gateway --port 18789Restart=alwaysRestartSec=5TimeoutStopSec=30TimeoutStartSec=30SuccessExitStatus=0 143OOMPolicy=continueKillMode=control-group [Install]WantedBy=default.target

Aktivieren Sie ihn:

Code
systemctl --user enable --now openclaw-gateway[-<profile>].service

Speicherdruck und OOM-Kills

Unter Linux wählt der Kernel ein OOM-Opfer aus, wenn einem Host, einer VM oder einer Container-cgroup der Arbeitsspeicher ausgeht. Der Gateway kann ein schlechtes Opfer sein, weil er langlebige Sitzungen und Kanalverbindungen besitzt. OpenClaw bevorzugt daher, wenn möglich, transiente Kindprozesse vor dem Gateway zu beenden.

Für berechtigte Linux-Kindprozesse startet OpenClaw den Kindprozess über einen kurzen /bin/sh-Wrapper, der das eigene oom_score_adj des Kindprozesses auf 1000 erhöht und dann per exec den eigentlichen Befehl ausführt. Dies ist ein unprivilegierter Vorgang, weil der Kindprozess nur seine eigene Wahrscheinlichkeit erhöht, durch OOM beendet zu werden.

Abgedeckte Kindprozess-Bereiche umfassen:

  • vom Supervisor verwaltete Befehlskindprozesse,
  • PTY-Shell-Kindprozesse,
  • MCP-stdio-Server-Kindprozesse,
  • von OpenClaw gestartete Browser-/Chrome-Prozesse.

Der Wrapper ist nur für Linux verfügbar und wird übersprungen, wenn /bin/sh nicht verfügbar ist. Er wird außerdem übersprungen, wenn die Kindprozess-Umgebung OPENCLAW_CHILD_OOM_SCORE_ADJ=0, false, no oder off setzt.

So überprüfen Sie einen Kindprozess:

bash
cat /proc/<child-pid>/oom_score_adj

Der erwartete Wert für abgedeckte Kindprozesse ist 1000. Der Gateway-Prozess sollte seinen normalen Wert behalten, üblicherweise 0.

Die empfohlene systemd-Einheit setzt außerdem OOMPolicy=continue. Dadurch bleibt die Gateway-Einheit aktiv, wenn ein transienter Kindprozess vom OOM-Killer ausgewählt wird; der Kindbefehl oder die Sitzung kann fehlschlagen und den Fehler melden, ohne dass systemd den gesamten Gateway-Dienst als fehlgeschlagen markiert und alle Kanäle neu startet.

Dies ersetzt keine normale Speicherabstimmung. Wenn ein VPS oder Container wiederholt Kindprozesse beendet, erhöhen Sie das Speicherlimit, reduzieren Sie die Parallelität oder fügen Sie stärkere Ressourcenkontrollen wie systemd MemoryMax= oder Speicherlimits auf Container-Ebene hinzu.

Verwandte Themen

Was this useful?
On this page

On this page