# ulti-backend (ultid) API monolithique Go — mail, drive, contacts, admin, UltiAI gateway, etc. --- ## Environnement local - Config : `.env` (test local, gitignored) → `./deploy/compose-up.sh` génère `.env.resolved` pour Compose - Entrée HTTP dev : nginx `:80` → `/api/v1/*` → `ultid` - Frontend dev : repo `gmail-interface-clone`, proxy `ULTI_PROXY_ORIGIN=http://127.0.0.1:80` --- ## Agents — redémarrage obligatoire **Ne jamais demander au développeur de redémarrer.** L'agent relance le service quand c'est nécessaire. ### Quand redémarrer `ultid` - Modification code Go (`internal/`, `cmd/`, routes, handlers, services) - Nouvelle route ou changement de comportement API - Changement `.env` / `.env.resolved` consommé au boot - Après implémentation feature backend à tester côté frontend ### Commandes (depuis la racine de ce repo) ```bash # Rebuild + restart (après changement code Go) ./deploy/compose-up.sh up -d --build ultid # Restart sans rebuild (rare) ./deploy/compose-up.sh restart ultid # Logs ./deploy/compose-up.sh logs ultid --tail 50 ``` ### Vérification ```bash curl -s http://127.0.0.1:80/api/v1/ai/config ``` ### Autres services Compose Modules optionnels (OpenWebUI, Nextcloud, …) : `./deploy/compose-up.sh up -d` relit `.env` et active les overlays. --- ## Dev hors Docker ```bash go run ./cmd/ultid # nécessite PG, KeyDB, RustFS, Authentik déjà up ``` En pratique l'environnement dev utilise Docker pour `ultid`. --- ## Docs - `README.md` — architecture, compose, observabilité - `.env.example` — variables documentées