deploy/proxmox/laufzettel.sh ist statisch geprüft und im Trockenlauf durchgelaufen, aber nie auf
einem Proxmox-Host ausgeführt — hier stand keiner zur Verfügung. Der Installationsteil
(deploy/install.sh) dagegen ist vollständig getestet: in debian:13 ohne systemd und in einem
privilegierten Container mit echtem systemd 257, inklusive Aktualisierungslauf, ProtectSystem,
Sandbox und /api/gesundheit.
Ungeprüft ist damit genau die Klammer darum: pct, pveam, pvesh und whiptail.
Dieses Issue schließt, wenn der Einzeiler einmal auf einem echten PVE-Host gelaufen ist und die
Prüfliste in docs/betrieb/proxmox.md („Was du beim ersten Lauf selbst
nachprüfen musst“) abgehakt ist. Die Liste ist der Prüfplan, nicht dieses Issue.
Konkret ungeprüft
pveversion erkennt PVE 8 und 9 richtig; Abbruch auf einem Nicht-PVE-Rechner
pveam available / pveam download finden die Debian-13-Standardvorlage
pct create nimmt die zusammengebauten Argumente an (Speicher mit Inhalt rootdir,
unprivilegiert, DHCP auf vmbr0)
Die Ermittlung der nächsten freien CTID über pvesh stimmt mit dem, was PVE vergibt
Der Container bekommt eine Adresse, und CT_IP wird richtig abgelesen — davon hängen APP_URL
und der Abschlussbildschirm ab
pct exec … bash -c "<Umgebung> bash /root/laufzettel-install.sh" übergibt die Variablen so,
wie install.sh sie liest (APP_URL, BIND_ADDR, LAUFZETTEL_REPO, LAUFZETTEL_ZWEIG, LAUFZETTEL_PASSWORT_DATEI)
Das Erstpasswort wird aus /root/laufzettel-erstpasswort gelesen und danach gelöscht
Der whiptail-Dialog ist auf einer PVE-Shell bedienbar (Standard und Erweitert)
Der zweite Aufruf erkennt den Container am Hostnamen und aktualisiert statt anzulegen
--aktualisieren bricht ab, wenn es keinen Container laufzettel gibt
Die Ausgabe von install.sh erscheint im Terminal, ohne von einem Spinner überschrieben zu
werden
Aufgaben
Einzeiler auf einem PVE-Host fahren, Prüfliste abhaken
Abweichungen als eigene Issues aufnehmen, nicht hier sammeln
Nach dem erfolgreichen Lauf den Satz „Der pct-Teil ist ungetestet“ in docs/betrieb/proxmox.md durch das Ergebnis ersetzen (PVE-Fassung, Datum)
docs/abnahme-mvp.md Zeile 11 abhaken
Akzeptanzkriterien
Ein LXC, in dem systemctl is-active laufzettel „active“ meldet und /api/gesundheit status ok liefert
pct exec <ctid> -- ss -ltn zeigt keinen Port 5432
Zweiter Aufruf: Daten, APP_SECRET und Datenbankpasswort unverändert
Quelle im Repo: docs/issues/024-proxmox-echtlauf.md
## Ziel
`deploy/proxmox/laufzettel.sh` ist statisch geprüft und im Trockenlauf durchgelaufen, aber **nie auf
einem Proxmox-Host ausgeführt** — hier stand keiner zur Verfügung. Der Installationsteil
(`deploy/install.sh`) dagegen ist vollständig getestet: in `debian:13` ohne systemd und in einem
privilegierten Container mit echtem systemd 257, inklusive Aktualisierungslauf, `ProtectSystem`,
Sandbox und `/api/gesundheit`.
Ungeprüft ist damit genau die Klammer darum: `pct`, `pveam`, `pvesh` und `whiptail`.
Dieses Issue schließt, wenn der Einzeiler einmal auf einem echten PVE-Host gelaufen ist und die
Prüfliste in [docs/betrieb/proxmox.md](../betrieb/proxmox.md) („Was du beim ersten Lauf selbst
nachprüfen musst“) abgehakt ist. Die Liste ist der Prüfplan, nicht dieses Issue.
## Konkret ungeprüft
- [ ] `pveversion` erkennt PVE 8 und 9 richtig; Abbruch auf einem Nicht-PVE-Rechner
- [ ] `pveam available` / `pveam download` finden die Debian-13-Standardvorlage
- [ ] `pct create` nimmt die zusammengebauten Argumente an (Speicher mit Inhalt `rootdir`,
unprivilegiert, DHCP auf `vmbr0`)
- [ ] Die Ermittlung der nächsten freien CTID über `pvesh` stimmt mit dem, was PVE vergibt
- [ ] Der Container bekommt eine Adresse, und `CT_IP` wird richtig abgelesen — davon hängen `APP_URL`
und der Abschlussbildschirm ab
- [ ] `pct exec … bash -c "<Umgebung> bash /root/laufzettel-install.sh"` übergibt die Variablen so,
wie `install.sh` sie liest (`APP_URL`, `BIND_ADDR`, `LAUFZETTEL_REPO`, `LAUFZETTEL_ZWEIG`,
`LAUFZETTEL_PASSWORT_DATEI`)
- [ ] Das Erstpasswort wird aus `/root/laufzettel-erstpasswort` gelesen **und danach gelöscht**
- [ ] Der `whiptail`-Dialog ist auf einer PVE-Shell bedienbar (Standard und Erweitert)
- [ ] Der zweite Aufruf erkennt den Container am Hostnamen und aktualisiert statt anzulegen
- [ ] `--aktualisieren` bricht ab, wenn es keinen Container `laufzettel` gibt
- [ ] Die Ausgabe von `install.sh` erscheint im Terminal, ohne von einem Spinner überschrieben zu
werden
## Aufgaben
- [ ] Einzeiler auf einem PVE-Host fahren, Prüfliste abhaken
- [ ] Abweichungen als eigene Issues aufnehmen, nicht hier sammeln
- [ ] Nach dem erfolgreichen Lauf den Satz „Der `pct`-Teil ist ungetestet“ in
`docs/betrieb/proxmox.md` durch das Ergebnis ersetzen (PVE-Fassung, Datum)
- [ ] `docs/abnahme-mvp.md` Zeile 11 abhaken
## Akzeptanzkriterien
- [ ] Ein LXC, in dem `systemctl is-active laufzettel` „active“ meldet und `/api/gesundheit`
`status ok` liefert
- [ ] `pct exec <ctid> -- ss -ltn` zeigt keinen Port 5432
- [ ] Zweiter Aufruf: Daten, `APP_SECRET` und Datenbankpasswort unverändert
---
Quelle im Repo: `docs/issues/024-proxmox-echtlauf.md`
florian.wilde
added this to the v0.2.0 milestone 2026-09-26 13:57:53 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Ziel
deploy/proxmox/laufzettel.shist statisch geprüft und im Trockenlauf durchgelaufen, aber nie aufeinem Proxmox-Host ausgeführt — hier stand keiner zur Verfügung. Der Installationsteil
(
deploy/install.sh) dagegen ist vollständig getestet: indebian:13ohne systemd und in einemprivilegierten Container mit echtem systemd 257, inklusive Aktualisierungslauf,
ProtectSystem,Sandbox und
/api/gesundheit.Ungeprüft ist damit genau die Klammer darum:
pct,pveam,pveshundwhiptail.Dieses Issue schließt, wenn der Einzeiler einmal auf einem echten PVE-Host gelaufen ist und die
Prüfliste in docs/betrieb/proxmox.md („Was du beim ersten Lauf selbst
nachprüfen musst“) abgehakt ist. Die Liste ist der Prüfplan, nicht dieses Issue.
Konkret ungeprüft
pveversionerkennt PVE 8 und 9 richtig; Abbruch auf einem Nicht-PVE-Rechnerpveam available/pveam downloadfinden die Debian-13-Standardvorlagepct createnimmt die zusammengebauten Argumente an (Speicher mit Inhaltrootdir,unprivilegiert, DHCP auf
vmbr0)pveshstimmt mit dem, was PVE vergibtCT_IPwird richtig abgelesen — davon hängenAPP_URLund der Abschlussbildschirm ab
pct exec … bash -c "<Umgebung> bash /root/laufzettel-install.sh"übergibt die Variablen so,wie
install.shsie liest (APP_URL,BIND_ADDR,LAUFZETTEL_REPO,LAUFZETTEL_ZWEIG,LAUFZETTEL_PASSWORT_DATEI)/root/laufzettel-erstpasswortgelesen und danach gelöschtwhiptail-Dialog ist auf einer PVE-Shell bedienbar (Standard und Erweitert)--aktualisierenbricht ab, wenn es keinen Containerlaufzettelgibtinstall.sherscheint im Terminal, ohne von einem Spinner überschrieben zuwerden
Aufgaben
pct-Teil ist ungetestet“ indocs/betrieb/proxmox.mddurch das Ergebnis ersetzen (PVE-Fassung, Datum)docs/abnahme-mvp.mdZeile 11 abhakenAkzeptanzkriterien
systemctl is-active laufzettel„active“ meldet und/api/gesundheitstatus okliefertpct exec <ctid> -- ss -ltnzeigt keinen Port 5432APP_SECRETund Datenbankpasswort unverändertQuelle im Repo:
docs/issues/024-proxmox-echtlauf.md