VPSSpark Blog
← Zurück zum Entwicklungstagebuch

2026 OpenClaw Linux-Cloud-VPS: Mehrprofil-Gateways parallel — Port-Matrix, systemd-Benutzer-Units, OPENCLAW_*-Verzeichnis-Isolation, reproduzierbares Rollout und Konflikt-FAQ

Server-Notizen · 2026.04.27 · ca. 7 Min. Lesezeit

Netzwerk-Verkabelung als Metapher für mehrere isolierte OpenClaw-Gateway-Profile auf einem VPS

Auf einer kleinen Linux-Cloud-Instanz lassen sich mehr als ein OpenClaw-Gateway-Profil betreiben: Produktions-Bot, Staging-Bridge und persönlicher Versuch — jeweils mit eigenen Tokens, Konfiguration und Listenadresse. Das typische Scheitern ist selten „Linux kann nicht multitasken“, sondern kollidierende Ports, gemeinsame State-Verzeichnisse und systemd-Units, die um denselben Benutzer oder dasselbe Arbeitsverzeichnis ringen. Dieser Beitrag fasst ein reproduzierbares Muster zusammen: Port-Matrix, profilbezogene systemd --user-Units, explizite OPENCLAW_*-Pfad-Isolation und eine kurze FAQ zu Konflikten, die wir 2026 noch regelmäßig sehen.

N
Profile ≤ freie Ports + Ordner
user@
Isolation über systemd user slice
1
Matrix fest in Infra-Repo

Warum parallele Profile auf einem Host?

Getrennte VMs kosten Geld und IPv4; getrennte Container teilen sich weiterhin den Kernel-Port-Raum, sofern Sie nicht sauber mappen. Parallele Profile auf einem VPS funktionieren, wenn jedes Profil einen nicht überlappenden Bind-Port, einen eigenen OS-Benutzer oder ein eigenes Home für Dateirechte und ein dokumentiertes Umgebungspräfix hat — damit niemand aus Versehen das falsche Token in die falsche Unit kopiert. „Profil“ ist hier ein Betriebskonzept: prod/stage/dev oder Team A vs. Team B — nicht drei Kopien desselben Default-Konfigurationspfads.

Port-Matrix: Bind-Adressen vor dem Reverse-Proxy

Entscheiden Sie vor der TLS-Aktivierung, ob Loopback oder öffentliche Bindung nötig ist. Viele Teams halten jedes Gateway an 127.0.0.1 und setzen Nginx oder Caddy auf 0.0.0.0:443; parallele Profile unterscheiden sich dann nur durch den Loopback-Port. Müssen Sie HTTP direkt exponieren, erweitern Sie die Matrix um Firewall-Zeilen je Security-Group. Zu Expositionsmustern und dem Abwägen SSH gegen öffentliches HTTPS siehe 2026 OpenClaw Linux-Cloud-VPS: Minimale Angriffsfläche — Firewall-Vorlage, Gateway-Loopback-Bindung und SSH-Tunnel für die Verwaltungsebene, Entscheidungsmatrix gegenüber HTTPS-Reverse-Proxy im öffentlichen Netz und gestufte FAQ.

Profil HTTP-Bind Hinweise
prod 127.0.0.1:18789 Stabiler Unit-Name; im LB-Upstream fixiert
stage 127.0.0.1:18790 Niemals Prod-Tokens; eigene systemd-Unit
dev 127.0.0.1:18791 Optional nur VPN oder SSH-Tunnel
Gleiche Binary, andere Welt
Parallele Gateways sind nicht automatisch „derselbe Dienst zweimal“, es sei denn, Sie duplizieren Binaries bewusst. Halten Sie einen Installationspfad pro Maschinen-Image und variieren Sie nur Env-Dateien, Ports und State-Roots — dann rollt ein Upgrade einmal sauber vorwärts.

systemd-Benutzer-Units: linger, Slices, Log-Grenzen

systemd --user-Dienste unter verschiedenen Linux-Benutzern liefern klare journalctl --user -u …-Grenzen, ohne /etc/systemd/system vollzumüllen. Für Konten, die den Logout überleben sollen: loginctl enable-linger. Ordnen Sie jeder Unit WorkingDirectory= und EnvironmentFile= auf ein profilspezifisches Drop-in zu, damit ein daemon-reload nie zwei Profile zusammenmischt. Auf Systemebene gehen auch Template-Units ([email protected]) — Invariante bleibt: ein Graph-Knoten pro Profil, eine Port-Zeile in der Matrix. Für Erstinstallation, curl vs. Docker und typische Umgebungsfehler auf dem VPS lohnt parallel 2026 OpenClaw Linux-Cloud-VPS in der Praxis: curl-Installation vs. Docker, Umgebungschecks und FAQ zu typischen Fehlern.

Profil-Umgebungsdatei (Beispielfelder)
# /etc/openclaw/prod.env — Modus 640, Besitzer = Dienstbenutzer
OPENCLAW_STATE_DIR=/var/lib/openclaw/prod
OPENCLAW_CONFIG_PATH=/etc/openclaw/prod.yaml
# Gateway-Listen — muss zur Port-Matrix passen
OPENCLAW_GATEWAY_BIND=127.0.0.1:18789

OPENCLAW_*-Verzeichnisse: State isolieren, nicht nur Config

Konfigurationsdateien liegen auf der Hand; Laufzeit-State (Sessions, lokale Caches, heruntergeladene Artefakte) ist die Stelle für stillen Cross-Talk. Setzen Sie OPENCLAW_STATE_DIR (und begleitende Variablen laut Ihrer Distribution) auf disjunkte Pfade pro Profil — etwa /var/lib/openclaw/prod vs. /var/lib/openclaw/stage — und besitzen Sie sie mit dem passenden Dienstbenutzer. Backups und Quotas folgen dann der Blast-Radius-Logik: Staging löschen berührt keine Prod-Tokens auf der Platte.

Defaults im Home
Ohne explizite State-Roots können zwei User-Units unter demselben Konto trotzdem auf dieselben Defaults unter ~/.config oder ~/.local/share treffen — abhängig vom Packaging. Für parallele Profile immer explizite Pfade in der Env setzen.

Checkliste: reproduzierbares Rollout

Port-Matrix und Env-Dateien gehören ins gleiche Repository wie Ansible oder cloud-init. Änderungen mit systemctl --user daemon-reload (oder System-Template-Reload) einspielen, dann Profile in Abhängigkeitsreihenfolge neu starten: zuerst Abhängigkeiten, zuletzt Edge-Listener. Ein Rollback reicht aus vorheriger Env-Revision plus vorherigem Unit-Drop-in. Persistenz unterscheidet sich von macOS launchd; wenn Sie zusätzlich Cloud-Macs betreiben, halten Sie das mentale Modell in der Doku bewusst getrennt.

Smoke-Test nach neuem Profil

Bevor Sie einen neuen Listener ankündigen: dreistufig prüfen, damit Tickets kurz bleiben. Erst mit ss -lntp verifizieren, dass nur die vorgesehenen Sockets offen sind und jede PID zur erwarteten Unit aus systemctl status passt. Zweitens die Loopback-Zeile der Matrix per curl mit explizitem Health- oder Versionspfad testen, nicht nur die Root-URL. Drittens den öffentlichen Hostnamen über den Reverse-Proxy ansprechen und Response-Header mit dem direkten Loopback-Probe vergleichen — Abweichungen bedeuten fast immer Port-Drift am Upstream, nicht TLS.

Loopback-Leiter (Ports/Pfade anpassen)
ss -lntp | grep -E '18789|18790|18791'
curl -svS http://127.0.0.1:18789/health
curl -svS https://prod-gateway.example.com/health

Wenn noch alles „gesund“ wirkt, aber die falsche Automation feuert, diffen Sie die effektive Umgebung der Unit: systemctl show für den Dienstblock, dann Abgleich mit der eingecheckten Env-Datei. Stille Drift durch manuelle Host-Änderungen ist der Hauptgrund, warum Repo und Live-Maschine nach wochenlangem On-Call auseinanderlaufen.

FAQ: Konflikte in parallelen Setups

„Address already in use“ nach Reboot — eine alte Usersitzung hat außerhalb von systemd eine zweite Kopie laufen lassen; mit ss -lntp PIDs zu Units zuordnen. Falscher Bot antwortet in Staging — Token-Pfad doppelt genutzt; Unit-Dateien auf doppelte EnvironmentFile-Einträge prüfen. Ein Profil füllt die VPS-Platte — Quotas oder Log-Rotation pro OPENCLAW_STATE_DIR, nicht global. HTTPS nur für einen Hostnamen — Proxy-Upstream zeigt auf die falsche Loopback-Zeile; Matrix korrigieren, nicht nur ACME.

Linux für Gateways, Cloud-Mac für den Rest der Schleife

Parallele OpenClaw-Profile auf einem Linux-VPS passen zu geringem Leerlauf-Strom, statischen IPs und einem vorhersagbaren systemd-Lebenszyklus — dieselben Gründe, warum Teams Always-on-Bots neben Burst-Workloads betreiben. Braucht Ihre Pipeline Xcode, Codesigning oder Apple-only-CLIs, liefert ein VPSSpark-Cloud-Mac mini natives macOS mit Unix-Komfort: Homebrew, SSH und Container ohne Windows-Reibung; Unified Memory auf Apple Silicon hält interaktive Builds flüssig.

Stabilität von macOS sowie Gatekeeper und SIP reduzieren Überraschungen gegenüber improvisierten Desktops; der M4 Mac mini bleibt mit rund 4W Leerlaufleistung wirtschaftlich als dauerhafter Helfer neben Ihrem VPS.

Wenn Sie Always-on-Linux-Gateways von Apple-spezifischer Arbeit trennen, ist VPSSpark Cloud-Mac mini M4 eine pragmatische BrückeTarife jetzt ansehen und beide Hälften des Stacks auf solides Fundament stellen.

Zeitlich begrenzt

Parallele Linux-Profile verkabelt — als Nächstes Cloud-Mac?

Kleinen VPS mit VPSSpark Mac mini M4 für Signing, Xcode und Burst-CI kombinieren

Zur Startseite
Zeitlich begrenzt Tarife ansehen