Files
leocrm/docs/deployment-guide.md
T

53 lines
2.2 KiB
Markdown
Raw Normal View History

# LeoCRM Deployment Guide
## Coolify Deployment
### Application Info
- **Coolify App UUID:** `xf7smknlger3hvkrsb910tui`
- **Domain:** `https://crm.media-on.de`
- **Git Repo:** `https://forgejo.media-on.de/Leopoldadmin/leocrm.git`
- **Branch:** `main`
- **Build Pack:** docker-compose
- **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": "xf7smknlger3hvkrsb910tui"}`
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:<token>@forgejo.media-on.de/Leopoldadmin/leocrm.git leocrm-build
cd leocrm-build
docker build -t xf7smknlger3hvkrsb910tui:<commit-hash> .
cd /data/coolify/applications/xf7smknlger3hvkrsb910tui
# docker-compose.yaml Image-Tag aktualisieren
# .env SOURCE_COMMIT aktualisieren
docker compose up -d
```
### 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:** Set via `COOLIFY_API_TOKEN` environment variable
- **Coolify Dashboard:** `https://server.media-on.de`
- **PostgreSQL:** `postgres` container (pgvector/pgvector:pg16)
- **Redis:** `redis` container