Deployment
Automatisch (Standard)
Jeder Push auf den main-Branch triggert automatisch ein Deployment:
bash
git add .
git commit -m "feat: meine Änderung"
git push origin main
# → Coolify erkennt den Push via Webhook
# → Backend + Frontend + Docs werden parallel gebaut
# → Zero-Downtime: neuer Container läuft bevor alter gestoppt wirdPost-Deploy (Backend): Coolify führt automatisch aus:
bash
php artisan migrate --force && php artisan config:cache && php artisan route:cacheDeployment-Ablauf
git push origin main
│
▼
GitHub Webhook → Coolify
│
├── Backend ─────────────────────────────────────
│ 1. Code auschecken (Base Dir: backend/)
│ 2. docker build (composer install, optimize)
│ 3. Neuen Container starten
│ 4. Post-Deploy: migrate + config:cache
│ 5. Traefik routet api.saw-sg.de → neuer Container
│ 6. Alter Container gestoppt
│
├── Frontend ────────────────────────────────────
│ 1. Code auschecken (Base Dir: frontend/)
│ 2. docker build (npm ci, npm run build)
│ 3. Nginx-Container mit dist/ starten
│ 4. Traefik routet venturo.saw-sg.de → neuer Container
│
└── Docs ────────────────────────────────────────
1. Code auschecken (Base Dir: docs/)
2. npm run docs:build
3. Statische Dateien via Nginx ausliefern
4. Traefik routet docs.saw-sg.de → neuer ContainerManuelles Deployment
Im Coolify-Dashboard: App → Deploy
Nützlich für:
- Notfall-Deployment ohne Code-Änderung
- Erzwungenes Rebuild (z.B. nach .env-Änderung)
Rollback
Im Coolify-Dashboard: App → Deployments → (alte Version) → Redeploy
Coolify behält die letzten 5 Deployments vor.
Branches
| Branch | Ziel | Verwendung |
|---|---|---|
main | Produktion (Coolify) | Stabiler Code, auto-deployed |
dev | lokal | Entwicklung, Features |
Workflow:
bash
# Feature entwickeln
git checkout -b feature/mein-feature
# ... entwickeln, testen ...
git checkout main
git merge feature/mein-feature
git push origin main # → auto-deployLogs einsehen
Coolify-Dashboard: App → Logs (Live-Stream)
Alternativ per SSH:
bash
ssh root@<server-ip>
docker logs venturo_backend -f --tail=100
docker logs venturo_frontend -fBuild-Status prüfen
Im Coolify-Dashboard unter Deployments ist der Status jedes Builds sichtbar:
- ✅ Deployed — erfolgreich
- ❌ Failed — Build-Log ansehen für Fehlerdetails
- 🔄 Building — läuft gerade
Wichtige Hinweise
.env-Variablen
Änderungen an Environment Variables in Coolify erfordern ein manuelles Redeploy — sie werden nicht automatisch durch einen Push ausgelöst.
Datenbankmigrationen
php artisan migrate --force läuft automatisch im Post-Deploy. Destruktive Migrationen (DROP, TRUNCATE) vorher lokal testen.