La connexion au dashboard est servie par Better Auth sous /api/auth/* : e-mail/mot de
passe, Google OAuth, et SSO OIDC/SAML par organisation (configuré par org, routage par
domaine e-mail). Les tokens projet MCP (grc_proj_*) ne sont pas concernés — leur accès dépend de
l'approbation de l'organisation. Le callback Google à enregistrer côté Google Cloud est
${BETTER_AUTH_URL}/api/auth/callback/google.
Variable
Rôle
Défaut
BETTER_AUTH_SECRET
Secret de signature/chiffrement Better Auth (sessions, state OAuth). Fail-fast : le backend refuse de démarrer avec la valeur placeholder si BETTER_AUTH_URL est en HTTPS.
change-me-in-prod
BETTER_AUTH_URL
URL publique vue par le navigateur (base des endpoints /api/auth/*).
http://localhost:8080
GRACE_GOOGLE_CLIENT_ID
Client OAuth Google (console Google Cloud).
change-me.apps.googleusercontent.com
GRACE_GOOGLE_CLIENT_SECRET
Secret du client OAuth (en prod : via secrets, jamais en clair).
change-me
GRACE_PLATFORM_ADMIN_EMAILS
Administrateurs plateforme (CSV d'e-mails) : reçoivent user.role=admin au seed. Seuls eux accèdent à /web/admin/* et approuvent les organisations (accès MCP).
owner@grace.local
GRACE_AUTH_RATE_LIMIT_RELAXED
Dev/test uniquement : relâche le rate-limit de /sign-in/email (évite les 429 parasites des suites boîte-noire). La prod reste stricte.
—
CORS_ORIGINS
Origines CORS additionnelles (CSV). L'origine de BETTER_AUTH_URL est toujours autorisée ; en local, les origines localhost de dev aussi.
Base du site de docs, pour les liens contextuels du dashboard (build-time). En local : le port dédié du service docs ; en prod : le sous-domaine routé par Traefik.
VITE_DOCS_BASE est figée au build (Vite). L'image de prod la reçoit via les
build-args de CI ; en local elle vient de platform/.env.
Le site de docs n'est pas servi derrière l'ingress applicatif : en local il s'ouvre sur son
port (:8081), en prod sur docs.grace.hoppr.tech.
Active le filtrage sémantique du resolve : off | embeddings.
off
GRACE_RELEVANCE_FLOOR
Seuil de similarité sous lequel une tâche est jugée hors-domaine.
0.18
GRACE_RELEVANCE_BETA
Poids du boost structurel (recouvrement de stems).
0.12
GRACE_RELEVANCE_MARGIN
Largeur du cluster gardé sous le meilleur score.
0.15
GRACE_RELEVANCE_BUDGET
Plafond de tokens des talents retenus.
2000
GRACE_RELEVANCE_MODEL
Modèle d'embeddings (Transformers.js).
Xenova/multilingual-e5-small
TRANSFORMERS_CACHE / HF_HOME
Dossier de cache du modèle (pointer un volume persistant).
—
Quand GRACE_RELEVANCE=embeddings, le backend télécharge un petit modèle (~110 Mo) au
premier boot, caché dans le volume models. Voir
Activer la pertinence.