*.33800.nowhere84.com → 82.65.119.221 (Bordeaux)*.86000.nowhere84.com → 82.67.42.47 (Raph - Poitiers){projet}-{service}-{env}.{stack}.nowhere84.comapi.33800.nowhere84.comgrafana.33800.nowhere84.comdashboard.nowhere84.com (O2switch)future-service.86000.nowhere84.com (chez Raph)| Environnement | Branche | Config |
|---|---|---|
| PROD | main |
conf.prod.gouroubleu.yml |
| DEV | develop |
conf.dev.gouroubleu.yml |
| Type | Format |
|---|---|
| Propositions | JJ-MM-AAAA-HH-MM-description.md |
| Tasks | JJ-MM-AAAA-HH-MM-description.md |
| Backlog | JJ-MM-AAAA-description.md |
| Config déploiement | conf.{branch}.gouroubleu.yml |
ATTENTION : Le fichier de config est conf.{branch}.gouroubleu.yml (ex: conf.prod.gouroubleu.yml, conf.dev.gouroubleu.yml), PAS conf.gouroubleu.yml sans préfixe.
Convention : 1 projet = 1 schema dédié
| Projet | Database | Schema |
|---|---|---|
| NeedFinder | postgres | needfinder |
| Notifications | postgres | notifications |
| AI Orchestrator | postgres | public (ai_jobs table) |
| QwikPress | postgres | qwikpress |
| etc. | postgres | {nom-projet} |
Avantages :
pg_dump --schema=X| Service | Port |
|---|---|
| Portainer | 9443 |
| Loki | 3100 |
| Grafana | 3000 |
| ntfy | 8080 |
| notif-logger | 5300 |
| connectors-api | 5403 (via wireguard-sidecar, PORT=5403) |
| browser-connector | 5404 |
| needfinder | 5200 |
| ai-orchestrator | 5501 |
| qwik-interface-generator | 5505 |
| connectors-front | 5402 |
| claude-memory | 5510 |
| claude-memory-front | 5511 |
| ulias-org | 5515 |
| ulias-org-web | 5516 |
| dashboard-33800 (backend) | 5520 |
| dashboard-33800-frontend | 5521 |
| authentificator | 8284 |
| Ollama (win11) | 11434 |
| ComfyUI (win11) | 8188 |
| Service | URL |
|---|---|
| Dashboard | https://dashboard.nowhere84.com |
| GitLab | https://gitlab.33800.nowhere84.com |
| Grafana | https://grafana.33800.nowhere84.com |
| Portainer | https://192.168.1.12:9443 |
| PVE | https://192.168.1.4:8006 |
| Proxmox 155 | https://proxmox.33800.nowhere84.com |
| Connectors Hub | https://connectors.33800.nowhere84.com |
| NeedFinder API | https://needfinder-api.33800.nowhere84.com |
| AI Orchestrator | https://ai-orchestrator.33800.nowhere84.com |
| QIG | https://qig.33800.nowhere84.com |
| Dashboard Qwik | https://dashboard.33800.nowhere84.com |
| Dashboard API | https://dashboard-api.33800.nowhere84.com |
| Browser | https://browser.33800.nowhere84.com |
| Ulias Org | https://ulias-org.33800.nowhere84.com |
| Ulias Web | https://ulias-web.33800.nowhere84.com |
| Claude Memory | https://claude-memory.33800.nowhere84.com |
| Memory Front | https://memory.33800.nowhere84.com |
JAMAIS d'IP:port dans le code applicatif (callbacks, webhooks, URLs internes).
Toujours utiliser les domaines HTTPS *.33800.nowhere84.com.
Le split-DNS Pi-hole résout vers nginx en local automatiquement.
Voir pihole-split-dns.md pour détails.
Règle : Toujours MIGRER/SAUVEGARDER avant SUPPRIMER
Exemple migration DEV → PROD :
JAMAIS supprimer avant d'avoir sécurisé les données ailleurs.
Règle : Après une migration (DEV→PROD, changement d'IP, etc.), TOUJOURS mettre à jour :
generate.d/*.sh, generate-*.sh)Fichiers critiques avec IPs :
| Fichier | Variable | Vérifier après migration |
|---------|----------|--------------------------|
| generate-needfinder.sh | API_URL | IP PROD NeedFinder |
| generate.d/20-ai-jobs.sh | PROD_IP | IP prod-portainer |
| collect.sh | Hosts | IPs des serveurs |
AVANT de modifier un fichier qui fonctionne :
IMPORTANT — PIÈGE RÉCURRENT : Le frontend (connectors-front.33800.nowhere84.com) et l'API (connectors.33800.nowhere84.com) sont sur des domaines différents. Toute URL relative /api/... dans le HTML rendu côté front sera résolue sur le domaine du front, PAS sur l'API.
Solution : entry.express.tsx contient un proxy Express qui forward certaines routes /api/* vers l'API backend. Quand on ajoute un nouveau endpoint API consommé par des URLs relatives dans le HTML (images, streams, fichiers), il FAUT ajouter la route proxy dans entry.express.tsx.
Routes proxy existantes :
/api/ai/attachments/:id/file/* → proxy vers API (fichiers joints chat)/api/stream/* → proxy vers API (images/videos Jellyfin, médias)Fichier : connectors-front/src/entry.express.tsx — fonction proxyToApi
Règle : Toute nouvelle URL relative /api/... utilisée dans un src, href, ou img côté front → ajouter dans le proxy Express.