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:
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:
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-cliim neuenhomelab-mcp(CT 109), Usermcp. - 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:
Node.js wird bei Bedarf neu aus dem offiziellen Release nach ~/.local/node entpackt.