Aller au contenu

Opérations & infra

🔵 Depuis repo/ :

Fenêtre de terminal
docker compose build api web && docker compose up -d api web

L’image web est standalone : MESSIER_BACKEND_URL est baké au next build (rewrites figés). En next dev il est lu au runtime — d’où le workflow de vérif local : MESSIER_BACKEND_URL=http://localhost:8000 npx next dev -p 3100. Les migrations DB se font en live : docker exec repo-db-1 psql -U disease_linker -d disease_linker -c "ALTER …" (le init_v1.sql reste idempotent pour les fresh installs).

🔵 Ubuntu 24.04, RTX 4090 24 Go (CUDA), Docker + NVIDIA Container Toolkit.

DisqueRôle
système (LVM)Ubuntu, repo, venv (~750 Go libres)
SSD interne NTFS /mnt/old-windowsassets statiques : models/, knowledge-bases/, sources/, datasets/

⚠️ Les tailles de dossiers NTFS peuvent afficher « 0 » à tort → se fier au contenu réel et à /health (kb_concepts), pas au ls -la.

🔵 Les builds d’index tournent hors conteneur (l’API monte l’index RO et n’embarque pas les builders). Le runner consomme la table ontology_builds :

Activation in-place (os.replace, atomique par fichier) car l’index est un bind mount : un swap par rename de dossier ne serait pas vu par le conteneur, et on évite un restart. Units : messier-compositional/deploy/messier-build-runner.{service,timer} (one-shot). Installé/activé : sudo systemctl enable --now messier-build-runner.timer. → Gestion des ontologies.

🔵 Aujourd’hui : authentification Credentials Auth.js (stub de développement) ; un token API protège le backend. Jalon 10d : OIDC réel (SWITCH edu-ID / IdP d’un CHU partenaire).

🔵 Backend pytest (linking, émission, staging, terminologies, exports, runner…) ; frontend Playwright e2e ; contract test. Conventions apprises : e2e self-contained ; pour la curation, utiliser des mentions non validées et non-onco déterministes (le cache cross-projet et la file onco piègent les tests naïfs).

🔵 Tailscale (SSH + consultation UI iPhone/desktop). Tester l’UI tôt sur iPhone (bugs invisibles en desktop-only).