Skip to content

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 wird

Post-Deploy (Backend): Coolify führt automatisch aus:

bash
php artisan migrate --force && php artisan config:cache && php artisan route:cache

Deployment-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 Container

Manuelles 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 ​

BranchZielVerwendung
mainProduktion (Coolify)Stabiler Code, auto-deployed
devlokalEntwicklung, 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-deploy

Logs 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 -f

Build-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.

Venturo — Simulate Your Venture