Zum Inhalt

CT 110 – codex-cli

LXC-Container für KI-Kommandozeilenwerkzeuge. Dort laufen Claude Code und die OpenAI Codex CLI parallel nebeneinander.

Eingerichtet am 23. Oktober 2026.

Eckdaten

Parameter Wert
CT-ID 110
Hostname codex-cli
OS Debian GNU/Linux 13 (trixie), amd64
IP 10.10.10.35 (statische DHCP-Reservierung auf dem MikroTik, dhcp-mgmt)
MAC BC:24:11:A3:A2:68
Festplatte 8 GB (pve-vm--110--disk--0)
SSH-User für den MCP mcp

Die Adresse lag zunächst als dynamischer Lease bei 10.10.10.52 im DHCP-Pool. Am 23. Oktober 2026 wurde sie auf 10.10.10.35 im LXC-Block (.30 bis .39) umgestellt. 10.10.10.34 ist vom Admin-Ingress von CT 109 belegt.

Der SSH-Hostkey (ED25519) blieb dabei gleich: SHA256:ENEkboxUgNSYukS90Z5VL+OPW45S07UDGS0ZMqdqtnM. Bei einer erneuten IP-Änderung muss der Host-Eintrag codex-cli in der MCP-Admin-Oberfläche angepasst werden.

Installierte Werkzeuge

Werkzeug Paket Version bei Einrichtung
Claude Code @anthropic-ai/claude-code 2.1.309
OpenAI Codex CLI @openai/codex 0.164.0
Node.js (LTS) offizielles Release von nodejs.org v24.22.1
npm mit Node.js 11.19.1

Alles liegt ohne root im Home des Users mcp:

~/.local/node            Node.js (aus tar.xz, Prüfsumme gegen SHASUMS256.txt geprüft)
~/.npm-global            npm-Präfix für globale Pakete
~/.npm-global/bin        claude, codex

Der PATH-Eintrag steht in ~/.profile und ~/.bashrc:

export PATH="$HOME/.local/node/bin:$HOME/.npm-global/bin:$PATH"

Der User hat kein allgemeines sudo, nur mcp-maintenance laut Admin-Befehl. Deshalb bewusst keine Systempakete für Node.

Anmeldung

Der Container hat keinen Browser. Die Anmeldung erfolgt interaktiv durch den Menschen, als User mcp (Proxmox-Konsole von CT 110, dann su - mcp). Der Link wird am Arbeitsplatz-Rechner geöffnet. Zugangsdaten und Tokens gehören nicht ins Wiki.

Werkzeug Anmeldung Prüfung Ablage
Claude Code claude (Link öffnen, Code ins Terminal zurückkopieren) claude auth status ~/.claude
Codex codex login --device-auth (Link und einmaliger Code) codex login status ~/.codex/auth.json

Stand 23. Oktober 2026: Claude Code mit Claude-Team-Konto, Codex mit ChatGPT-Konto angemeldet.

Codex: Dateispeicher statt Schlüsselbund

Ohne Einstellung versucht Codex, die Zugangsdaten im System-Schlüsselbund abzulegen. Auf dem Server fehlt der Schlüsselbund (kein D-Bus), die Anmeldung wurde im Browser bestätigt, kam aber auf dem Container nie an. Abhilfe in ~/.codex/config.toml:

cli_auth_credentials_store = "file"

Die Datei auth.json hat Rechte 600.

Der normale codex login ohne --device-auth braucht einen Rückkanal auf localhost und funktioniert im Container ohne SSH-Tunnel nicht.

MCP-Anbindung

  • Eintrag codex-cli im neuen homelab-mcp (CT 109), User mcp.
  • Der MCP nutzt dafür einen eigenen Schlüssel (homelab-mcp-codex-cli) unter /etc/homelab-mcp/ssh/.
  • Der öffentliche Schlüssel steht in /home/mcp/.ssh/authorized_keys.

Hinweis zur Einrichtung

Der von der Admin-Oberfläche erzeugte Befehl enthält einen Heredoc und lief beim Einfügen in die Konsole nicht durch. Funktioniert hat die Einrichtung mit zwei einzeiligen Befehlen: useradd, dann Schlüssel nach authorized_keys mit 700/600-Rechten. Außerdem gilt: Der Linux-Befehl der Admin-Oberfläche legt den User nicht an, er muss vorher existieren.

Aktualisieren

Als User mcp:

npm update -g @anthropic-ai/claude-code @openai/codex
claude --version
codex --version

Node.js wird bei Bedarf neu aus dem offiziellen Release nach ~/.local/node entpackt.

Verweise