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)
| Anbieter | Plan | Specs | Preis/Monat | Hinweise |
|---|---|---|---|---|
| Oracle Cloud | Always Free ARM | bis zu 4 OCPU, 24GB RAM | $0 | ARM, begrenzte Kapazität |
| Hetzner | CX22 | 2 vCPU, 4GB RAM | ~ $4 | Günstigste bezahlte Option |
| DigitalOcean | Basic | 1 vCPU, 1GB RAM | $6 | Einfache UI, gute Docs |
| Vultr | Cloud Compute | 1 vCPU, 1GB RAM | $6 | Viele Standorte |
| Linode | Nanode | 1 vCPU, 1GB RAM | $5 | Jetzt Teil von Akamai |
Voraussetzungen
- Oracle Cloud Account (Anmeldung) — siehe Community-Anmeldeleitfaden bei Problemen
- Tailscale Account (kostenlos auf tailscale.com)
- ~30 Minuten Zeit
1) OCI-Instanz erstellen
- Melde dich in der Oracle Cloud Console an
- Navigiere zu Compute → Instances → Create Instance
- 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
- Name:
- Klicke auf Create
- 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.
- Gehe zu Networking → Virtual Cloud Networks in der OCI Console
- Klicke auf dein VCN → Security Lists → Default Security List
- Entferne alle Ingress-Regeln außer:
0.0.0.0/0 UDP 41641(Tailscale)
- 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 Schritt | Nötig? | Warum |
|---|---|---|
| UFW-Firewall | Nein | VCN blockiert, bevor Traffic die Instanz erreicht |
| fail2ban | Nein | Kein Brute-Force, wenn Port 22 am VCN blockiert ist |
| sshd-Härtung | Nein | Tailscale SSH nutzt nicht sshd |
| Root-Login deaktivieren | Nein | Tailscale nutzt Tailscale-Identität, nicht System-Benutzer |
| SSH-Key-only-Auth | Nein | Tailscale authentifiziert über dein Tailnet |
| IPv6-Härtung | Meist nicht | Hä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 upgraderegelmäß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
- Gateway Remote Access — andere Remote-Access-Muster
- Tailscale-Integration — vollständige Tailscale-Docs
- Gateway-Konfiguration — alle Config-Optionen
- DigitalOcean-Anleitung — wenn du bezahlte + einfachere Anmeldung willst
- Hetzner-Anleitung — Docker-basierte Alternative