Manifestbasierter Production-Updater 3.3, Modulnavigation, optionales Produktbild Studio, Listing-Studio-Aktionsleiste sowie plattformübergreifende Windows-/Linux-Release-Gates.
109 lines
4.6 KiB
Markdown
109 lines
4.6 KiB
Markdown
# Coolify-Update auf Vendoo 1.42.0
|
|
|
|
# Empfohlener automatischer Weg
|
|
|
|
Für den normalen Updatefall nur das Release-ZIP entpacken und `UPDATE_VENDOO.bat` doppelklicken. GitHub-Anmeldung und Coolify-Webhook werden nur beim ersten Start abgefragt. Alle nachfolgenden Schritte dieser Datei sind der manuelle Notfall- und Kontrollweg.
|
|
|
|
## Voraussetzungen
|
|
|
|
- Repository: `Masterluke77/vendoo`
|
|
- Produktionsbranch: `main`
|
|
- Dockerfile-Build
|
|
- interner Port: `8124`
|
|
- Domain: `https://vendoo.flatlined.de`
|
|
- persistentes Volume unverändert nach `/app/data`
|
|
- genau eine Instanz
|
|
- Rolling Updates aus
|
|
- Auto Deploy aus
|
|
- FLUX Studio aus
|
|
|
|
## Vor dem Merge
|
|
|
|
1. Releasebranch `release/1.42.0-production-operations` aus aktuellem `main` erstellen.
|
|
2. Vollständigen Source-Stand übertragen; keine `.env`, Datenbank, Uploads, Backups, Logs, Master-Keys oder installierten Laufzeitmodule committen.
|
|
3. `npm ci` und `npm run verify:all` ausführen.
|
|
4. Draft-PR erstellen und GitHub Actions abwarten.
|
|
5. Erst nach grünem CI und Review nach `main` mergen.
|
|
|
|
## Zusätzliche Coolify-Variablen
|
|
|
|
```env
|
|
COOLIFY_DEPLOYMENT_STATUS_ENDPOINT=/api/v1/deployments/{deployment_id}
|
|
VENDOO_DEPLOY_TIMEOUT_SECONDS=900
|
|
VENDOO_DEPLOY_HEALTH_POLL_SECONDS=15
|
|
VENDOO_BUILD_REVISION=<Git-Commit-SHA>
|
|
VENDOO_COOLIFY_AUTO_DEPLOY=false
|
|
```
|
|
|
|
Die vorhandenen Produktionswerte müssen erhalten bleiben:
|
|
|
|
```env
|
|
NODE_ENV=production
|
|
PORT=8124
|
|
VENDOO_BIND_HOST=0.0.0.0
|
|
PUBLIC_BASE_URL=https://vendoo.flatlined.de
|
|
VENDOO_ALLOWED_HOSTS=vendoo.flatlined.de
|
|
VENDOO_ALLOWED_ORIGINS=https://vendoo.flatlined.de
|
|
VENDOO_TRUST_PROXY=true
|
|
VENDOO_COOKIE_SECURE=true
|
|
VENDOO_COOKIE_SAMESITE=lax
|
|
VENDOO_INITIAL_DISABLED_MODULES=vendoo.flux-studio
|
|
LOCAL_IMAGE_ENABLED=false
|
|
LOCAL_IMAGE_ALLOW_REMOTE=false
|
|
VENDOO_GITHUB_REPOSITORY=Masterluke77/vendoo
|
|
VENDOO_GITHUB_BRANCH=main
|
|
VENDOO_UPDATE_CHANNEL=stable
|
|
VENDOO_BACKUP_BEFORE_DEPLOY=true
|
|
VENDOO_DEPLOY_BACKUP_UPLOADS=false
|
|
```
|
|
|
|
## Coolify-Konfiguration prüfen
|
|
|
|
1. Coolify öffnen und Projekt **Vendoo → Production → Application** wählen.
|
|
2. Source muss die private GitHub-App, Repository `Masterluke77/vendoo` und Branch `main` verwenden.
|
|
3. Build Pack **Dockerfile**, Base Directory `/`, Dockerfile `/Dockerfile`.
|
|
4. Port `8124`; kein öffentliches Host-Port-Mapping.
|
|
5. Domain `https://vendoo.flatlined.de`; HTTPS erzwingen.
|
|
6. Volume `vendoo-data` unverändert nach `/app/data`.
|
|
7. Replikate `1`, Rolling Updates aus, Auto Deploy aus.
|
|
8. Healthcheck `/readyz` mit erwartetem HTTP 200.
|
|
9. Speichern, aber das Volume niemals neu anlegen oder löschen.
|
|
|
|
## Erstes kontrolliertes Deployment
|
|
|
|
1. Nach dem Merge Coolify noch nicht blind mehrfach starten.
|
|
2. Bestehendes Vendoo öffnen: **Administration → System → Updates**.
|
|
3. Produktionscheck ausführen und Fehler vor dem Deployment beheben.
|
|
4. Coolify-Provider, Trigger-Modus, Resource UUID, Repository und `main` prüfen.
|
|
5. Webhook oder API-Token nur über die Vendoo-Oberfläche in den verschlüsselten Secret Store eintragen.
|
|
6. **Version prüfen**. Eine neuere Zielversion wird nur akzeptiert, wenn das freigegebene Manifest SemVer, Kanal, HTTPS-Paket-URL und SHA-256 erfüllt.
|
|
7. Zielversion `1.42.0` eintragen.
|
|
8. Vorab-Backup aktiviert lassen. Uploads nur bei ausreichendem Backup-Speicher einschließen.
|
|
9. **Coolify-Deployment starten** wählen und exakt `DEPLOY` eingeben.
|
|
10. Der Auftrag muss nacheinander Backup, Backup-Verifikation und Coolify-Trigger protokollieren.
|
|
11. Im API-Modus wird der Coolify-Status gepollt. Im Webhook-Modus nach dem tatsächlichen Coolify-Abschluss im Verlauf **Externen Abschluss bestätigen** wählen und exakt `CONFIRM` eingeben.
|
|
12. Erfolg darf erst erscheinen, wenn `/readyz` grün ist und die laufende Version `1.42.0` meldet.
|
|
|
|
## Abnahme nach Deployment
|
|
|
|
- `/readyz` liefert HTTP 200 und Version `1.42.0`.
|
|
- Login funktioniert.
|
|
- Bestehende Benutzer, Artikel und Uploads sind vorhanden.
|
|
- SQLite-Integrität ist `ok`.
|
|
- Letztes Vorab-Backup ist als verifiziert sichtbar.
|
|
- Deployment-Verlauf zeigt `succeeded` und nachvollziehbare Events.
|
|
- FLUX Studio bleibt deaktiviert.
|
|
- Produktionscheck hat keine Fehler.
|
|
|
|
## Fehler und Rollback
|
|
|
|
Bei `rollback_required` nicht erneut deployen, bevor die Ursache geprüft wurde.
|
|
|
|
1. Coolify-Build- und Startlogs sichern.
|
|
2. `/readyz`, Zielversion und Volume-Mount prüfen.
|
|
3. In Coolify den letzten funktionierenden Commit beziehungsweise das vorige Image redeployen.
|
|
4. Dasselbe Volume `/app/data` weiterverwenden.
|
|
5. Volume niemals löschen oder neu initialisieren.
|
|
6. Nach erfolgreichem Rollback Login, Artikel, Uploads, SQLite und `/readyz` prüfen.
|
|
7. Den blockierten Vendoo-Auftrag erst danach mit **Prüfung abschließen** und exakt `CONFIRM` dokumentiert schließen.
|