* docs: prepare Vendoo 1.41.2 git-ignore boundary hotfix * fix: track native source modules with root-anchored runtime ignores
7.7 KiB
Vendoo 1.41.0 – Coolify-Produktionsinstallation
Zieladresse: https://vendoo.flatlined.de
Zielarchitektur
GitHub Repository Masterluke77/vendoo
│
│ Coolify GitHub App
▼
Coolify Dockerfile Build
│
▼
Vendoo Container :8124
│
├── Domain/HTTPS durch Coolify
└── persistentes Volume /app/data
Vendoo erhält keinen Zugriff auf /var/run/docker.sock. Deployments werden über einen verschlüsselten Coolify-Webhook oder einen minimal berechtigten Coolify-API-Token angefordert.
Voraussetzungen
- funktionierende Coolify-Installation
- öffentlicher Server mit erreichbaren Ports 80 und 443
- DNS-Verwaltung für
flatlined.de - privates GitHub-Repository
Masterluke77/vendoo - vollständiger Vendoo-1.41.0-Stand im Branch
main
1. DNS
Beim DNS-Anbieter einen A-Record anlegen:
Typ: A
Name: vendoo
Wert: ÖFFENTLICHE_IPV4_DES_COOLIFY_SERVERS
TTL: Auto oder 300
Nur bei korrekt eingerichtetem IPv6 zusätzlich:
Typ: AAAA
Name: vendoo
Wert: ÖFFENTLICHE_IPV6_DES_COOLIFY_SERVERS
Vor dem Coolify-Deployment prüfen, dass vendoo.flatlined.de auf den Coolify-Server zeigt.
2. GitHub-App in Coolify
- In Coolify links
Sourcesöffnen. Add SourcebeziehungsweiseNew Sourcewählen.GitHub Appwählen.- Die GitHub-Verknüpfung autorisieren.
- Der App ausschließlich Zugriff auf
Masterluke77/vendoogeben. - Verbindung speichern.
Die GitHub-App ist für private Repositories die bevorzugte Variante, weil Coolify damit Repositoryzugriff, Webhooks und Pull-Request-Deployments verwalten kann.
3. Projekt und Anwendung erstellen
Projectsöffnen.- Projekt
Vendooerstellen. - Environment
Productionerstellen. Add Resourcewählen.Private Repository (GitHub App)wählen.- Repository
Masterluke77/vendooauswählen. - Branch
mainauswählen. - Build Pack
Dockerfilewählen. - Base Directory
/eintragen. - Dockerfile Location
/Dockerfileeintragen.
4. Netzwerk
In der Anwendung konfigurieren:
Domain: https://vendoo.flatlined.de
Port Exposes: 8124
Port Mapping: leer lassen
Force HTTPS: aktiviert
Kein 8124:8124 Host-Port-Mapping verwenden. Der Coolify-Proxy verbindet sich intern mit Port 8124.
5. Persistentes Volume
Unter Storages oder Persistent Storage ein Volume anlegen:
Name: vendoo-data
Destination Path: /app/data
Nicht mehrere Container gleichzeitig auf dasselbe SQLite-Volume schreiben lassen. Für Vendoo zunächst genau eine laufende Instanz verwenden.
Im Volume bleiben erhalten:
- Datenbank
- Uploads
- Backups
- Operations-Daten
- verschlüsselte Secrets und Master-Key
- Modulstatus und installierte Module
- Logs
6. Umgebungsvariablen
Die Vorlage deploy/coolify.env.example verwenden. Für die Domain mindestens folgende Werte setzen:
NODE_ENV=production
PORT=8124
VENDOO_BIND_HOST=0.0.0.0
VENDOO_DATA_DIR=/app/data
VENDOO_DB_PATH=/app/data/db/vendoo.db
VENDOO_UPLOADS_DIR=/app/data/uploads
VENDOO_BACKUP_DIR=/app/data/backups
VENDOO_OPERATIONS_DIR=/app/data/operations
VENDOO_LOG_DIR=/app/data/logs
VENDOO_CONFIG_PATH=/app/data/config/vendoo.env
VENDOO_MODULES_DIR=/app/data/modules
VENDOO_MODULE_STATE_PATH=/app/data/config/modules-state.json
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_REQUIRE_SETUP_TOKEN=true
VENDOO_SETUP_TOKEN=<MINDESTENS_64_ZUFAELLIGE_ZEICHEN>
VENDOO_INITIAL_DISABLED_MODULES=vendoo.flux-studio
LOCAL_IMAGE_ENABLED=false
LOCAL_IMAGE_ALLOW_REMOTE=false
VENDOO_JSON_LOGS=true
SMTP_TLS_REJECT_UNAUTHORIZED=true
Den Setup-Token nicht aus dieser Dokumentation übernehmen. Einen neuen zufälligen Wert erzeugen und ausschließlich in Coolify speichern.
7. Healthcheck
Wenn Coolify eigene Healthcheck-Felder anbietet:
Enabled: Ja
Method: GET
Path: /readyz
Port: 8124
Interval: 30 Sekunden
Timeout: 5 Sekunden
Retries: 3
Start Period: 30 Sekunden
Der Dockerfile enthält denselben Healthcheck bereits.
8. Auto Deploy
Für kontrollierte Produktionsupdates:
Auto Deploy: deaktiviert
Preview Deployments: optional aktiviert
Damit führt nicht jeder Merge sofort ein Produktionsdeployment aus. Das erste Deployment wird manuell in Coolify gestartet. Spätere Deployments können aus dem Vendoo Update Center angefordert werden.
Für einen einfachen Testbetrieb kann Auto Deploy vorübergehend aktiviert werden.
9. Erstes Deployment
- In Coolify
Deployanklicken. - Build-Logs beobachten.
- Warten, bis der Container
healthymeldet. https://vendoo.flatlined.de/readyzöffnen.- Danach
https://vendoo.flatlined.deöffnen. - Ersteinrichtung mit dem in Coolify gesetzten Setup-Token abschließen.
- Ersten Administrator anlegen.
- Unter
Administration → Moduleprüfen, dass FLUX Studio deaktiviert ist.
VENDOO_INITIAL_DISABLED_MODULES gilt nur als erster Standard. Wird FLUX später bewusst im Modulmanager aktiviert, bleibt diese Administratorentscheidung persistent erhalten.
10. Coolify-Deployment im Vendoo Update Center konfigurieren
Empfohlen: Deploy-Webhook
- In Coolify die Vendoo-Anwendung öffnen.
- Den Bereich für Deploy Webhooks beziehungsweise Webhooks öffnen.
- Einen Deploy-Webhook für diese Anwendung kopieren oder erstellen.
- In Vendoo
Administration → System → Update Centeröffnen. - Provider
Coolifywählen. - Coolify URL eintragen, zum Beispiel
https://coolify.flatlined.de. - Trigger
Deploy-Webhookwählen. - Den vollständigen Webhook in
Deploy-Webhookeintragen. - Repository
Masterluke77/vendooeintragen. - Produktionsbranch
maineintragen. - Vorab-Backup aktiviert lassen.
- Konfiguration speichern.
Verbindung prüfenanklicken.
Der Webhook wird verschlüsselt in /app/data/config/secrets.enc.json gespeichert und nicht an den Browser zurückgegeben.
Alternative: Coolify API
- In Coolify
Settings → Advancedöffnen und API Access aktivieren. - Unter
Security → API Tokenseinen Token erstellen. - Nur die Berechtigungen
readunddeployvergeben. - Den Token sofort kopieren; Coolify zeigt ihn nur einmal.
- Die Application Resource UUID aus Coolify kopieren.
- In Vendoo Trigger
Coolify APIwählen. - Coolify URL, Resource UUID und API-Token eintragen.
- Konfiguration speichern.
Keinen Root-Token verwenden.
11. Deployment aus Vendoo auslösen
- Neue Version zuerst in GitHub nach
mainmergen. - GitHub Actions vollständig grün abwarten.
- Optional GitHub Release veröffentlichen.
- In der laufenden Vendoo-Installation das Update Center öffnen.
Coolify-Deployment startenanklicken.- Exakt
DEPLOYeingeben. - Vendoo erstellt zuerst ein verifiziertes Backup einschließlich Konfiguration.
- Danach wird der Coolify-Auftrag gesendet.
- Coolify baut einen neuen Container aus dem konfigurierten Branch.
- Der laufende Container verändert sich nicht selbst.
12. Nachkontrolle
Nach jedem Deployment prüfen:
https://vendoo.flatlined.de/readyz- Anmeldung
- Artikel und Medien
- Modulmanager
- Security Center
- Update Center
- Backupliste
- Coolify Build- und Containerlogs
13. Rollback
Bei einem fehlerhaften Deployment:
- In Coolify die Vendoo-Anwendung öffnen.
Deploymentsbeziehungsweise Deployment History öffnen.- das letzte funktionierende lokale Image wählen.
- Rollback ausführen.
/readyzprüfen.- Daten nur dann wiederherstellen, wenn eine Migration oder ein Nutzdatenproblem vorliegt.
Da Vendoo-Daten im Volume /app/data liegen, ersetzt ein Containerrollback normalerweise nur den Programmstand und nicht die Nutzdaten.