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>
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
# #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
|
||||
- [x] `deploy/update.sh`: sichern, bauen, migrieren, neu starten, Erreichbarkeit prüfen
|
||||
- [x] Zustandsprüfung für den Worker in `docker-compose.yml`
|
||||
- [x] `AUFRAEUM_CRON` in `.env.example` und im Compose-Dienst
|
||||
- [x] `deploy/community-scripts/ct/proxledger.sh` und `install/proxledger-install.sh`
|
||||
- [x] `deploy/community-scripts/README.md` mit Voraussetzungen für eine Einreichung
|
||||
- [x] README auf den tatsächlichen Stand gebracht (Feldtest erledigt, Einstellungen, Sicherheit)
|
||||
- [x] `docs/roadmap.md`
|
||||
- [x] 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.
|
||||
Reference in New Issue
Block a user