OpenClaw auf Oracle Cloud (OCI)

Ziel

Einen dauerhaft laufenden OpenClaw Gateway auf Oracle Clouds Always Free ARM-Tier betreiben.

Oracle’s kostenloser Tier kann gut für OpenClaw geeignet sein (besonders wenn du bereits einen OCI-Account hast), bringt aber auch Kompromisse mit sich:

  • ARM-Architektur (die meisten Dinge funktionieren, aber manche Binaries sind nur für x86)
  • Kapazität und Anmeldung können manchmal schwierig sein

Kostenvergleich (2026)

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

Voraussetzungen

1) OCI-Instanz erstellen

  1. Melde dich in 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, probiere eine andere Availability Domain oder versuche es später nochmal. Die Kapazität im kostenlosen Tier ist begrenzt.

2) Verbinden und aktualisieren

# Verbinde dich über die öffentliche IP
ssh ubuntu@YOUR_PUBLIC_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 Benutzerdienste nach 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 von jedem Gerät in deinem Tailnet über ssh openclaw verbinden kannst — ohne öffentliche IP.

Überprüfen:

tailscale status

Ab jetzt über Tailscale verbinden: ssh ubuntu@openclaw (oder nutze die Tailscale-IP).

5) OpenClaw installieren

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

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

Hinweis: Bei ARM-nativen Build-Problemen starte 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

Nutze Token-Authentifizierung als Standard. Das ist vorhersehbar und vermeidet “insecure auth”-Flags in der Control UI.

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

# Authentifizierung 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) Überprüfen

# Version checken
openclaw --version

# Daemon-Status checken
systemctl --user status openclaw-gateway

# Tailscale Serve checken
tailscale serve status

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

8) VCN-Sicherheit absichern

Jetzt wo alles läuft, sichere das VCN ab, um allen Traffic außer Tailscale zu blockieren. OCIs Virtual Cloud Network fungiert 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 (erlaube allen ausgehenden Traffic)

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


Auf die Control UI zugreifen

Von jedem Gerät in deinem Tailscale-Netzwerk:

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

Ersetze <tailnet-name> mit deinem 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, etc.)

Sicherheit: VCN + Tailscale (empfohlene Baseline)

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

Dieses Setup macht oft zusätzliche Host-basierte Firewall-Regeln überflüssig, die nur SSH-Brute-Force aus dem Internet stoppen sollen — aber du solltest trotzdem das OS aktuell halten, openclaw security audit ausführen und prüfen, 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
fail2banNeinKein Brute-Force, wenn Port 22 am VCN blockiert ist
sshd-HärtungNeinTailscale SSH nutzt nicht sshd
Root-Login deaktivierenNeinTailscale nutzt Tailscale-Identität, nicht System-Benutzer
SSH-Key-only-AuthNeinTailscale authentifiziert über dein Tailnet
IPv6-HärtungMeist nichtHängt von deinen VCN/Subnet-Einstellungen ab; prüfe was tatsächlich zugewiesen/exponiert ist

Trotzdem empfohlen

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

Sicherheitsstatus überprüfen

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

# Prüfe, ob 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, nutze einen SSH-Tunnel:

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

Dann öffne http://localhost:18789.


Troubleshooting

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

ARM-Instanzen im kostenlosen Tier sind beliebt. Versuche:

  • Eine andere Availability Domain
  • Erneuter Versuch außerhalb der Stoßzeiten (früh morgens)
  • Nutze den “Always Free”-Filter bei der Shape-Auswahl

Tailscale verbindet sich nicht

# Status checken
sudo tailscale status

# Neu 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üfe, ob Tailscale Serve läuft
tailscale serve status

# Prüfe, 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. Bei Binaries suche nach linux-arm64 oder aarch64 Releases.


Persistenz

Alle Daten liegen in:

  • ~/.openclaw/ — Config, Credentials, Session-Daten
  • ~/.openclaw/workspace/ — Workspace (SOUL.md, Memory, Artifacts)

Regelmäßig sichern:

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

Siehe auch