OpenClaw auf Oracle Cloud (OCI)

Ziel

Ein dauerhaftes OpenClaw-Gateway auf Oracle Clouds Always Free ARM-Tier betreiben.

Oracle’s Free Tier kann gut zu OpenClaw passen (besonders wenn du bereits ein OCI-Konto hast), bringt aber Kompromisse mit sich:

  • ARM-Architektur (das meiste funktioniert, aber manche Binaries sind nur für x86 verfügbar)
  • Kapazität und Anmeldung können umständlich sein

Kostenvergleich (2026)

AnbieterPlanSpezifikationenPreis/MonatHinweise
Oracle CloudAlways Free ARMbis zu 4 OCPU, 24GB RAM0 $ARM, begrenzte Kapazität
HetznerCX222 vCPU, 4GB RAM~ 4 $Günstigste bezahlte Option
DigitalOceanBasic1 vCPU, 1GB RAM6 $Einfache UI, gute Doku
VultrCloud Compute1 vCPU, 1GB RAM6 $Viele Standorte
LinodeNanode1 vCPU, 1GB RAM5 $Jetzt Teil von Akamai

Voraussetzungen

1) OCI-Instanz erstellen

  1. Melde dich bei der Oracle Cloud Console an
  2. Navigiere zu Compute → Instances → Create Instance
  3. Konfiguriere:
    • Name: openclaw
    • Image: Ubuntu 24.04 (aarch64)
    • Shape: VM.Standard.A1.Flex (Ampere ARM)
    • OCPUs: 2 (oder bis zu 4)
    • Memory: 12 GB (oder bis zu 24 GB)
    • Boot volume: 50 GB (bis zu 200 GB kostenlos)
    • SSH key: Füge deinen öffentlichen Schlüssel hinzu
  4. Klicke auf Create
  5. Notiere dir die öffentliche IP-Adresse

Tipp: Falls die Instanzerstellung mit „Out of capacity” fehlschlägt, versuche eine andere Availability Domain oder probiere es später erneut. Die Free-Tier-Kapazität ist begrenzt.

2) Verbinden und aktualisieren

# Per öffentlicher IP verbinden
ssh ubuntu@DEINE_ÖFFENTLICHE_IP

# System aktualisieren
sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential

Hinweis: build-essential wird für die ARM-Kompilierung einiger Abhängigkeiten benötigt.

3) Benutzer und Hostname konfigurieren

# Hostname setzen
sudo hostnamectl set-hostname openclaw

# Passwort für ubuntu-Benutzer setzen
sudo passwd ubuntu

# Lingering aktivieren (hält User-Services nach dem Logout am Laufen)
sudo loginctl enable-linger ubuntu

4) Tailscale installieren

curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up --ssh --hostname=openclaw

Das aktiviert Tailscale SSH, sodass du dich per ssh openclaw von jedem Gerät in deinem Tailnet verbinden kannst — keine öffentliche IP nötig.

Prüfen:

tailscale status

Ab jetzt per Tailscale verbinden: ssh ubuntu@openclaw (oder verwende die Tailscale-IP).

5) OpenClaw installieren

curl -fsSL https://openclaw.ai/install.sh | bash
source ~/.bashrc

Wenn gefragt wird „How do you want to hatch your bot?”, wähle „Do this later”.

Hinweis: Bei ARM-nativen Build-Problemen beginne mit System-Paketen (z. B. sudo apt install -y build-essential) bevor du zu Homebrew greifst.

6) Gateway konfigurieren (Loopback + Token-Auth) und Tailscale Serve aktivieren

Verwende Token-Auth als Standard. Das ist vorhersehbar und vermeidet „Insecure Auth”-Flags in der Control-UI.

# Gateway auf der VM privat halten
openclaw config set gateway.bind loopback

# Auth für Gateway + Control-UI verlangen
openclaw config set gateway.auth.mode token
openclaw doctor --generate-gateway-token

# Über Tailscale Serve bereitstellen (HTTPS + Tailnet-Zugriff)
openclaw config set gateway.tailscale.mode serve
openclaw config set gateway.trustedProxies '["127.0.0.1"]'

systemctl --user restart openclaw-gateway

7) Prüfen

# Version prüfen
openclaw --version

# Daemon-Status prüfen
systemctl --user status openclaw-gateway

# Tailscale Serve prüfen
tailscale serve status

# Lokale Antwort testen
curl http://localhost:18789

8) VCN-Sicherheit absichern

Nachdem alles funktioniert, sichere das VCN ab, um sämtlichen Traffic außer Tailscale zu blockieren. OCI’s Virtual Cloud Network wirkt als Firewall am Netzwerkrand — Traffic wird blockiert, bevor er deine Instanz erreicht.

  1. Gehe zu Networking → Virtual Cloud Networks in der OCI Console
  2. Klicke auf dein VCN → Security Lists → Default Security List
  3. Entferne alle Ingress-Regeln außer:
    • 0.0.0.0/0 UDP 41641 (Tailscale)
  4. Behalte die Standard-Egress-Regeln bei (allen ausgehenden Traffic erlauben)

Das blockiert SSH auf Port 22, HTTP, HTTPS und alles andere am Netzwerkrand. Ab jetzt kannst du dich nur noch per Tailscale verbinden.


Control-UI aufrufen

Von jedem Gerät in deinem Tailscale-Netzwerk:

https://openclaw.<tailnet-name>.ts.net/

Ersetze <tailnet-name> durch deinen Tailnet-Namen (sichtbar in tailscale status).

Kein SSH-Tunnel nötig. Tailscale bietet:

  • HTTPS-Verschlüsselung (automatische Zertifikate)
  • Authentifizierung über Tailscale-Identität
  • Zugriff von jedem Gerät in deinem Tailnet (Laptop, Handy usw.)

Sicherheit: VCN + Tailscale (empfohlene Basis)

Mit dem abgesicherten VCN (nur UDP 41641 offen) und dem Gateway an Loopback gebunden bekommst du starke Defense-in-Depth: Öffentlicher Traffic wird am Netzwerkrand blockiert, und Admin-Zugriff läuft über dein Tailnet.

Dieses Setup macht in vielen Fällen zusätzliche Host-basierte Firewall-Regeln überflüssig, die nur Internet-weite SSH-Brute-Force stoppen sollen — aber du solltest das OS trotzdem aktuell halten, openclaw security audit ausführen und sicherstellen, dass du nicht versehentlich auf öffentlichen Interfaces lauschst.

Was bereits geschützt ist

Traditioneller SchrittNötig?Warum
UFW-FirewallNeinVCN blockiert bevor Traffic die Instanz erreicht
fail2banNeinKeine Brute-Force wenn Port 22 am VCN blockiert
sshd-HärtungNeinTailscale SSH nutzt nicht sshd
Root-Login deaktivierenNeinTailscale nutzt Tailscale-Identität, nicht Systembenutzer
SSH nur mit SchlüsselNeinTailscale authentifiziert über dein Tailnet
IPv6-HärtungMeist nichtHängt von deinen VCN/Subnet-Einstellungen ab; prüfe was tatsächlich zugewiesen/exponiert ist

Weiterhin empfohlen

  • Zugangsdaten-Berechtigungen: chmod 700 ~/.openclaw
  • Sicherheitsaudit: openclaw security audit
  • System-Updates: sudo apt update && sudo apt upgrade regelmäßig
  • Tailscale überwachen: Geräte in der Tailscale Admin-Konsole prüfen

Sicherheitsstatus prüfen

# Bestätigen, dass keine öffentlichen Ports lauschen
sudo ss -tlnp | grep -v '127.0.0.1\|::1'

# Prüfen, dass Tailscale SSH aktiv ist
tailscale status | grep -q 'offers: ssh' && echo "Tailscale SSH active"

# Optional: sshd komplett deaktivieren
sudo systemctl disable --now ssh

Fallback: SSH-Tunnel

Falls Tailscale Serve nicht funktioniert, verwende einen SSH-Tunnel:

# Von deinem lokalen Rechner (über Tailscale)
ssh -L 18789:127.0.0.1:18789 ubuntu@openclaw

Dann öffne http://localhost:18789.


Fehlerbehebung

Instanzerstellung schlägt fehl („Out of capacity”)

Free-Tier-ARM-Instanzen sind beliebt. Versuche:

  • Andere Availability Domain
  • Zu Nebenzeiten erneut versuchen (früher Morgen)
  • Den „Always Free”-Filter bei der Shape-Auswahl verwenden

Tailscale verbindet nicht

# Status prüfen
sudo tailscale status

# Erneut authentifizieren
sudo tailscale up --ssh --hostname=openclaw --reset

Gateway startet nicht

openclaw gateway status
openclaw doctor --non-interactive
journalctl --user -u openclaw-gateway -n 50

Control-UI nicht erreichbar

# Prüfen ob Tailscale Serve läuft
tailscale serve status

# Prüfen ob Gateway lauscht
curl http://localhost:18789

# Bei Bedarf neu starten
systemctl --user restart openclaw-gateway

ARM-Binary-Probleme

Manche Tools haben keine ARM-Builds. Prüfe:

uname -m  # Sollte aarch64 zeigen

Die meisten npm-Pakete funktionieren problemlos. Für Binaries such nach linux-arm64 oder aarch64 Releases.


Persistenz

Alle Daten befinden sich in:

  • ~/.openclaw/ — Konfiguration, Zugangsdaten, Sitzungsdaten
  • ~/.openclaw/workspace/ — Workspace (SOUL.md, Memory, Artefakte)

Regelmäßig sichern:

tar -czvf openclaw-backup.tar.gz ~/.openclaw ~/.openclaw/workspace

Siehe auch