Files
florian.wildeandClaude Opus 5 6c3729bae8 feat(deploy): Auslieferung als Docker-Stack und als Helper-Script (#026)
Docker: deploy/update.sh sichert, baut, migriert und prueft die
Erreichbarkeit; der Worker hat jetzt eine Zustandspruefung. Der ganze Stapel
wurde durchgespielt - bauen, starten, migrieren, anmelden, Agent-Skript
abrufen.

Dabei ein echter Fehler aufgefallen: Nach der Anmeldung zeigte die
Weiterleitung auf den internen Containernamen. Hinter einem Reverse Proxy
waere das eine tote Adresse gewesen. Weiterleitungen nehmen jetzt die
eingetragene Adresse, sonst APP_URL, sonst die Proxy-Kopfzeilen.

Dazu Skripte nach Art der Proxmox VE Helper-Scripts (Node und PostgreSQL
direkt im LXC, ohne Docker). Vorerst intern: Eine Einreichung setzt
oeffentlichen Quelltext voraus und laeuft ueber ProxmoxVED.

Ausserdem docs/roadmap.md: Bis 1.0.0 fehlt kein Code mehr, sondern
Erprobung.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-19 00:11:33 +02:00

2.4 KiB
Raw Permalink Blame History

#026 Auslieferung finalisieren

Status: erledigt Meilenstein: v0.17.0 Labels: deployment, doku Geschätzt: 3 h Tatsächlich: 0 h 40 min

Ziel

Zwei saubere Wege, ProxLedger in Betrieb zu nehmen: als Docker-Stack und als LXC-Container nach Art der Proxmox VE Helper-Scripts.

Aufgaben

  • deploy/update.sh: sichern, bauen, migrieren, neu starten, Erreichbarkeit prüfen
  • Zustandsprüfung für den Worker in docker-compose.yml
  • AUFRAEUM_CRON in .env.example und im Compose-Dienst
  • deploy/community-scripts/ct/proxledger.sh und install/proxledger-install.sh
  • deploy/community-scripts/README.md mit Voraussetzungen für eine Einreichung
  • README auf den tatsächlichen Stand gebracht (Feldtest erledigt, Einstellungen, Sicherheit)
  • docs/roadmap.md
  • Docker-Stapel vollständig durchgespielt: bauen, starten, migrieren, anmelden, Agent-Skript abrufen

Erkenntnisse zu community-scripts

  • Die Skripte laden ihr Gerüst inzwischen aus einem eigenen Repository (community-scripts/core, Datei core/build.func) – nicht mehr aus misc/build.func.
  • Neue Skripte gehören als Pull Request nach ProxmoxVED, nicht nach ProxmoxVE. Direkt eingereichte Skripte werden dort ohne Prüfung geschlossen.
  • Die JSON-Metadaten für die Webseite liegen nicht mehr im Skript-Repository.
  • Eine Einreichung setzt öffentlich erreichbaren Quelltext voraus (in aller Regel GitHub). Solange ProxLedger im eigenen Gitea liegt, bleiben die Skripte intern; die Quelle lässt sich über PROXLEDGER_REPO setzen.

Beim Prüfen gefunden

Der Docker-Stapel wurde vollständig gestartet (bauen, migrieren, anmelden). Dabei zeigte sich: Nach der Anmeldung wies die Weiterleitung auf http://<container-id>:3000 – die interne Adresse des Containers. Im Browser hinter einem Reverse Proxy wäre das eine tote Adresse gewesen. Weiterleitungen nehmen jetzt die eingetragene Adresse, sonst APP_URL, sonst die Kopfzeilen des Reverse Proxy (src/lib/adresse.ts, vier Tests). Im Stapel gegengeprüft: location: http://localhost:3001/.

Entscheidung

Der eigene deploy/lxc-installer.sh (Container mit Docker darin) bleibt erhalten. Der neue Weg installiert Node und PostgreSQL direkt in den Container – das ist schlanker und entspricht dem, was Proxmox-Betreiber von Helper-Scripts erwarten. Beide Wege stehen gleichberechtigt im README.