# 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: ```bash ssh root@46.225.91.159 cd /tmp && git clone https://Leopoldadmin:@forgejo.media-on.de/Leopoldadmin/leocrm.git leocrm-build cd leocrm-build docker build -t stvabl4vaqru7jclx4ittzr3: . cd /data/coolify/applications/stvabl4vaqru7jclx4ittzr3 # docker-compose.yaml Image-Tag aktualisieren # .env SOURCE_COMMIT aktualisieren docker compose up -d docker stop && docker rm ``` ### 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