Files
leocrm/docs/deployment-guide.md
T

2.3 KiB

LeoCRM Deployment Guide

Coolify Deployment

Application Info

  • Coolify App UUID: stvabl4vaqru7jclx4ittzr3
  • App ID: 12
  • Domain: https://crm.media-on.de
  • Git Repo: https://forgejo.media-on.de/Leopoldadmin/leocrm.git
  • Branch: main
  • Build Pack: Dockerfile (Multi-Stage: Frontend + Backend)
  • Health Check: GET /api/v1/health → 200

Deploy Process

  1. Code pushen: git push origin main
  2. Coolify Deploy triggern:
    • Option A: Coolify Dashboard → https://server.media-on.de → App → Deploy
    • Option B: API: POST https://server.media-on.de/api/v1/deploy mit {"uuid": "stvabl4vaqru7jclx4ittzr3"}
  3. Build dauert ~2-5 Min (Multi-Stage: npm install + vite build + pip install + runtime)
  4. Container wird automatisch ausgetauscht wenn Build erfolgreich

Manueller Build (Fallback)

Wenn Coolify den Build nicht ausführt:

ssh root@46.225.91.159
cd /tmp && git clone https://Leopoldadmin:<token>@forgejo.media-on.de/Leopoldadmin/leocrm.git leocrm-build
cd leocrm-build
docker build -t stvabl4vaqru7jclx4ittzr3:<commit-hash> .
cd /data/coolify/applications/stvabl4vaqru7jclx4ittzr3
# docker-compose.yaml Image-Tag aktualisieren
# .env SOURCE_COMMIT aktualisieren
docker compose up -d
docker stop <old-container> && docker rm <old-container>

Bekannte Probleme

  • Build schlägt fehl bei JSX/TS-Fehlern: Vite-Build bricht ab → Coolify zeigt FAIL nach ~30s
  • docker-compose.yaml wird VOR dem Build aktualisiert: Wenn Build fehlschlägt, bleibt nicht-existentes Image in der Config
  • Coolify Queue kann hängen: Manchmal wird Deploy gequeued aber nicht verarbeitet — dann manuell bauen

Pre-Deploy Checklist

  • npx tsc --noEmit — keine neuen TSC-Fehler (pre-existing Dms.tsx errors sind OK)
  • npx vite build — Frontend-Build erfolgreich
  • git push origin main — Code auf Forgejo
  • Coolify Deploy triggern
  • Health-Check: curl https://crm.media-on.de/api/v1/health

Server Info

  • Host: 46.225.91.159 (coolify-01)
  • SSH Key: /a0/usr/workdir/.ssh/coolify-01-root
  • Coolify API Token: 2|UnMMp2WYbXFJCrOuZ1yqSK96hMooPTAfAJPIXiQc1e47154e
  • Coolify Dashboard: https://server.media-on.de
  • PostgreSQL: crm-postgres container (pgvector/pgvector:pg16)
  • Redis: crm-redis container