Codex auf dem Laptop funktioniert, bis die Aufgabe länger dauert als der Deckel offen bleibt. Ein großes Refactoring, ein nächtliches Review oder eine Testsuite, die eine Stunde läuft – all das braucht eine Maschine, die an bleibt, einen sauberen Checkout behält und sich nicht darum kümmert, in welchem WLAN du gerade bist.
Diese Maschine ist meist ein kleiner VPS. In dieser Anleitung zeigen wir das Setup, das wir selbst von Hand auf einem frischen Ubuntu-24.04-Server machen würden: dimensionieren, absichern, die Codex CLI installieren, ohne Browser anmelden, Sitzungen am Leben halten und den Server erreichen, ohne SSH ins Internet zu öffnen.
Was Codex von einem VPS braucht
Das Modell läuft bei OpenAI, die Codex CLI auf dem VPS ist also vor allem ein Terminal-Client plus alles, was dein Repo tut: Installationen, Builds, Tests. Die Installationsdoku von OpenAI nennt unter Linux Ubuntu 20.04+ oder Debian 10+, mindestens 4 GB RAM und empfohlen 8 GB sowie Git 2.23+ als optional, aber empfohlen.
Das deckt sich mit dem, was wir für unsere eigenen Agenten nutzen:
| Minimum | Empfohlen | Warum | |
|---|---|---|---|
| CPU | 2 vCPU | 4 vCPU | Deine Builds und Tests, nicht das Modell |
| RAM | 4 GB | 8 GB | OpenAIs eigene Empfehlung für die CLI |
| Disk | 50 GB | 150 GB | Repos, node_modules, Build-Caches, Logs |
| OS | Ubuntu 24.04 | Ubuntu 24.04 | Aktuelles LTS, unterstützt von Codex und Tailscale |
Ein Codex-Workload pro VPS ist die langweilige, sichere Wahl. Geht eine Aufgabe schief, trifft es nur eine kleine Maschine, die du löschen und neu aufsetzen kannst.
Starte deinen ersten Agenten in etwa 3 Minuten
Installiere die Office Claws CLI, verbinde dein Contabo-Konto und dein Codex-Abo – dein Agent bekommt einen eigenen VPS und einen Schreibtisch im Büro.
curl -fsSL https://officeclaws.com/downloads/install.sh | sh$4.99/Monat + dein eigener Contabo-VPS · Schlüssel bleiben in deinem Schlüsselbund
Schritt 1: Einen Nicht-Root-Benutzer anlegen
Frische VPS-Images geben dir meist root. Lass keinen Agenten als root laufen, der Dateien bearbeitet und Befehle ausführt. Lege einen eigenen Benutzer an und kopiere deinen SSH-Key dorthin:
# as root, once
adduser codex
usermod -aG sudo codex
mkdir -p /home/codex/.ssh
cp ~/.ssh/authorized_keys /home/codex/.ssh/
chown -R codex:codex /home/codex/.ssh
chmod 700 /home/codex/.ssh
chmod 600 /home/codex/.ssh/authorized_keysMelde dich in einem zweiten Terminal als codex an, bevor du die root-Sitzung schließt. Alles Weitere läuft als dieser Benutzer.
Schritt 2: Die Codex CLI installieren
OpenAI liefert einen eigenständigen Installer für macOS und Linux, Node.js auf dem Server ist also nicht nötig. Installiere die Grundpakete, dann Codex:
sudo apt update && sudo apt install -y git tmux curl
curl -fsSL https://chatgpt.com/codex/install.sh | sh
codex --versionWenn du Node auf dem Server ohnehin pflegst, ist npm install -g @openai/codex der andere offizielle Weg. Beide stehen im README von openai/codex und in der Codex-CLI-Doku.
Schritt 3: Anmelden – ChatGPT-Plan oder API-Key
Beim ersten Start bietet codex Sign in with ChatGPT an. Auf dem Laptop öffnet das einen Browser. Auf einem VPS gibt es keinen Browser, daher hast du laut OpenAIs Authentifizierungsdoku drei Optionen:
Device Code (bevorzugt für Server ohne Bildschirm). Die Funktion ist in der Beta, und du musst sie zuerst in den Sicherheitseinstellungen von ChatGPT aktivieren:
codex login --device-authSSH-Port-Forwarding. Der Login-Callback lauscht auf localhost:1455. Leite diesen Port von deinem Laptop weiter und öffne die ausgegebene Adresse im lokalen Browser:
# on your laptop
ssh -L 1455:localhost:1455 codex@your-vps
# then, inside that SSH session
codex loginAPI-Key. Per Pipe übergeben, statt ihn in die Shell-History zu tippen:
printenv OPENAI_API_KEY | codex login --with-api-keyWelche Option passt, ist vor allem eine Abrechnungsfrage. Codex ist in den ChatGPT-Plänen Free, Go, Plus, Pro, Business, Edu und Enterprise enthalten, mit Nutzungslimits je nach Plan. Ein API-Key wird dagegen pro Token zu API-Preisen abgerechnet. Die Rechnung dazu steht in Codex-Abo vs. API-Kosten.
Egal welche Option: Codex speichert die Zugangsdaten in ~/.codex/auth.json (oder im Credential Store des Betriebssystems). OpenAI rät, diese Datei wie ein Passwort zu behandeln: nie committen, nie in ein Ticket kopieren, nie im Chat teilen.
Schritt 4: Sitzungen mit tmux und systemd am Leben halten
Eine SSH-Sitzung stirbt, wenn der Laptop schläft. Alles, was Codex darin tat, stirbt mit. Für interaktive Arbeit startest du Codex in tmux:
tmux new -s codex
cd ~/work/project
codex
# detach with Ctrl-b then d; later, from any machine:
tmux attach -t codexFür wiederkehrende Jobs lässt du das Terminal ganz weg. codex exec läuft nicht-interaktiv, gibt die finale Antwort auf stdout aus und startet standardmäßig in einer Read-only-Sandbox; Änderungen erlaubst du explizit mit --sandbox workspace-write (Doku zum nicht-interaktiven Modus). Ein systemd-Timer macht daraus einen nächtlichen Job:
# /etc/systemd/system/codex-nightly.service
[Unit]
Description=Nightly Codex review
[Service]
Type=oneshot
User=codex
WorkingDirectory=/home/codex/work/project
ExecStart=/bin/bash -lc 'codex exec --sandbox workspace-write "review the last day of commits and write findings to REVIEW.md"'
# /etc/systemd/system/codex-nightly.timer
[Timer]
OnCalendar=*-*-* 03:00
Persistent=true
[Install]
WantedBy=timers.targetsudo systemctl daemon-reload
sudo systemctl enable --now codex-nightly.timerBeide Muster vertiefen wir in Lang laufende Codex-Aufgaben und Hintergrundaufgaben mit der Codex CLI.
Schritt 5: Den VPS sicher erreichen
Ein VPS mit offenem Port 22 bekommt innerhalb von Minuten Brute-Force-Versuche. Ein VPS, auf dem ein Agent mit deinen Codex-Zugangsdaten liegt, ist ein besonders schlechter Ort, um das falsch zu machen.
Wir machen drei Dinge:
-
Nur Schlüssel. In
/etc/ssh/sshd_configPasswordAuthentication noundPermitRootLogin nosetzen, dannsudo systemctl restart ssh. -
Einem privaten Netz beitreten. Tailscale installieren und den Server mit deinem Tailnet verbinden:
curl -fsSL https://tailscale.com/install.sh | sh sudo tailscale up -
Den öffentlichen Port schließen. Sobald du dich über die Tailscale-IP des Servers per SSH verbinden kannst, erlaubst du eingehenden Verkehr nur noch auf dem Tailscale-Interface:
sudo ufw allow in on tailscale0 sudo ufw enable
Schritt 3 machst du aus einer Sitzung, die bereits über das Tailnet läuft, sonst sperrst du dich aus. Die Webkonsole deines Anbieters bleibt die Notfalltür. Den SSH-Alltag danach beschreiben wir in Codex SSH Remote Workflow.
Schritt 6: Codex aktuell halten
Codex bekommt häufig Updates. Der dokumentierte Weg für die eigenständige Installation ist, den Installer erneut auszuführen; bei npm installierst du das Paket neu:
curl -fsSL https://chatgpt.com/codex/install.sh | sh
# or, if you used npm
npm install -g @openai/codexAktualisiere auch das System: sudo apt update && sudo apt upgrade nach Zeitplan, oder unattended-upgrades für Sicherheitspatches aktivieren.
Was es kostet
| Posten | Was du zahlst | Hinweise |
|---|---|---|
| VPS | Monatspreis deines Anbieters | Einstiegspläne mit 4 vCPU / 8 GB reichen für einen Agenten |
| Codex über ChatGPT-Plan | Dein bestehender Plan | Nutzungslimits hängen vom Plan ab |
| Codex über API-Key | API-Preise pro Token | Nur planbar, wenn du die Nutzung begrenzt |
| Tailscale | Kostenlos für private Nutzung | Der Personal-Plan reicht |
Für die meisten ist ein ChatGPT-Plan der günstigere Weg, einen VPS-Agenten zu betreiben; API-Keys lohnen sich für CI oder stoßweise Automatisierung. Wenn du mehrere Agenten nebeneinander willst, lies Mehrere Codex-Agenten betreiben.
Oder Office Claws diese Schritte machen lassen
Alles oben automatisiert Office Claws. Du bringst einen frischen Ubuntu-24.04-VPS in deinem eigenen Contabo-Konto und einen Tailscale-Auth-Key mit und führst aus:
officeclaws onboard --name Mona
officeclaws connect-codexonboard hinterlegt einen eigenen SSH-Key, legt einen separaten Benutzer an, aktiviert Firewall, Brute-Force-Schutz und automatische Sicherheitsupdates, deaktiviert Passwort- und root-Login, verbindet den Server mit deinem Tailnet, schließt öffentliches SSH und startet den Agenten. Das dauert meist 5–10 Minuten. connect-codex meldet den Agenten über den offiziellen Sign-in von OpenAI mit deinem ChatGPT-Plan an – ohne API-Key und ohne Abrechnung pro Token.
Damit der Kompromiss klar ist: Du bekommst einen Agenten, mit dem du über die CLI oder Telegram chattest und dem du geplante Aufgaben gibst – kein rohes Codex-Terminal, das du selbst skriptest. Office Claws kostet $4.99/Monat; den VPS rechnet Contabo direkt mit dir ab. Die vollständige Anleitung steht im Quick Start.
Empfehlungen
Fang mit einem VPS, einem Benutzer und einer Codex-Sitzung in tmux an. Bring die Device-Code-Anmeldung zum Laufen, schließe den öffentlichen SSH-Port und füge erst dann Timer oder einen zweiten Agenten hinzu. Wenn du dir das Setup sparen willst, lass Office Claws es machen und investiere die Zeit in die eigentliche Aufgabe.
Weiterlesen:
- Codex SSH Remote Workflow – der SSH-Alltag, sobald der VPS läuft
- Lang laufende Codex-Aufgaben – warum persistente Sitzungen zählen, wenn Arbeit Stunden dauert
- Hintergrundaufgaben mit der Codex CLI – Codex ohne angehängtes Terminal
- Mehrere Codex-Agenten betreiben – von einem VPS zu einem kleinen Team
- Codex-Abo vs. API-Kosten – welche Codex-Rechnung für einen VPS-Agenten sinnvoll ist