Files
proxdeploy/docs/issues/009-lxc.md
T
florian.wildeandClaude Opus 5.5 d25ec54ef9 feat(lxc): LXC-Container ausrollen, mit oder ohne Node-SSH
Container aus dem Proxmox-Template (neueste passende Version aus
aplinfo), unprivilegiert, nesting automatisch für docker. Weil Proxmox
keine Exec-API für Container hat, läuft die Provisionierung per SSH:
bevorzugt pct exec über den Node, sonst direkt in den Container mit
einem Bereitstellungsschlüssel, der am Ende wieder entfernt wird.

Auf pve-demo beide Wege geprüft: Debian 13 mit docker per pct exec
(hello-world läuft mit nesting allein) und Ubuntu 24.04 per SSH in den
Container. Dabei gefunden: chrony scheitert ohne CAP_SYS_TIME (jetzt
if: vm), sshd -t auf Ubuntu 24.04 ohne /run/sshd.

Closes #009

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 13:19:13 +02:00

1.6 KiB
Raw Blame History

#009 LXC-Container ausrollen

Status: erledigt Meilenstein: v0.3.0 Labels: feature, proxmox Geschätzt: 8 h Tatsächlich: 0 h 30 min

Ziel

LXC aus Proxmox-Template, Provisionierung per pct exec (SSH zum Node) oder SSH in den Container.

Aufgaben

  • aplinfo prüfen/herunterladen, Planer LXC, Swap, unprivilegiert, Features (nesting per API, keyctl nur per SSH)
  • Transport ssh-node (pct exec) und ssh-gast (Bereitstellungsschlüssel, danach entfernen)

Akzeptanzkriterien

  • Auf pve-demo: pd-ct01 (Debian 13, base+docker, pct exec, docker hello-world im unprivilegierten CT mit nesting) und pd-ct02 (Ubuntu 24.04, base, SSH in den Container, Bereitstellungsschlüssel danach entfernt)

Abhängigkeiten

#008

Notizen / Entscheidungen

  • Fund: chrony läuft in unprivilegierten Containern nicht (keine CAP_SYS_TIME). Profile kennen jetzt die festen Bedingungen if: vm / if: lxc; base installiert chrony nur in VMs.
  • Fund: Ubuntu 24.04 startet sshd per Socket, /run/sshd fehlt bis zur ersten Verbindung – sshd -t scheiterte. Der Adapter legt das Verzeichnis vorher an.
  • Docker im unprivilegierten Container braucht nur nesting, kein keyctl (geprüft auf PVE 9.2.2 mit Debian 13).
  • keyctl darf per Token nicht gesetzt werden; mit Node-SSH setzt ProxDeploy es per pct set, ohne lehnt die Prüfung ab.
  • Bereitstellungsschlüssel (eigener ed25519, verschlüsselt in den Einstellungen) nur für den Weg ohne Node-SSH; die Schlüssel des Benutzers gehen nie an root.
  • Bei mehreren passenden Container-Templates wird das neueste aus aplinfo geladen, wenn lokal nur ein älteres liegt.