Grace
Référence

Variables d'environnement

Référence des variables d'environnement de la plateforme Grace.

Les variables de la plateforme se déclarent dans platform/.env (voir platform/.env.example). Le détail du run est dans Déploiement → Dev local.

Ingress & base de données

VariableRôleDéfaut
DOMAINDomaine d'ingress (Caddy). En local : localhost.localhost
POSTGRES_USERUtilisateur PostgreSQL.grace
POSTGRES_PASSWORDMot de passe PostgreSQL.change-me-in-prod
POSTGRES_DBBase PostgreSQL.grace

Backend

VariableRôleDéfaut
BACKEND_PORTPort HTTP du backend NestJS.3000
DATABASE_URLChaîne de connexion PostgreSQL.postgres://grace:…@postgres:5432/grace
GRACE_OWNER_EMAILEmail du compte démo seedé (owner de l'organisation démo pré-approuvée + projet démo + token MCP grc_proj_demo). Ce n'est pas un gate de login.owner@grace.local
GRACE_OWNER_PASSWORDMot de passe du compte démo (login e-mail/mot de passe en local).grace-dev-password
MCP_PUBLIC_URLURL publique du MCP, injectée dans le .mcp.json généré.http://localhost:3001/mcp

Auth (dashboard — Better Auth)

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.

VariableRôleDéfaut
BETTER_AUTH_SECRETSecret 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_URLURL publique vue par le navigateur (base des endpoints /api/auth/*).http://localhost:8080
GRACE_GOOGLE_CLIENT_IDClient OAuth Google (console Google Cloud).change-me.apps.googleusercontent.com
GRACE_GOOGLE_CLIENT_SECRETSecret du client OAuth (en prod : via secrets, jamais en clair).change-me
GRACE_PLATFORM_ADMIN_EMAILSAdministrateurs 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_RELAXEDDev/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_ORIGINSOrigines CORS additionnelles (CSV). L'origine de BETTER_AUTH_URL est toujours autorisée ; en local, les origines localhost de dev aussi.

MCP

VariableRôleDéfaut
MCP_PORTPort HTTP du serveur MCP.3001
BACKEND_URLURL interne du backend vue par le MCP.http://backend:3000

Frontend

VariableRôleDéfaut
VITE_API_BASEURL de l'API vue par le navigateur (build-time)./api
VITE_DOCS_BASEBase 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.http://localhost:8081 (local) · https://docs.grace.hoppr.tech (image prod)

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.

Pertinence sémantique

VariableRôleDéfaut
GRACE_RELEVANCEActive le filtrage sémantique du resolve : off | embeddings.off
GRACE_RELEVANCE_FLOORSeuil de similarité sous lequel une tâche est jugée hors-domaine.0.18
GRACE_RELEVANCE_BETAPoids du boost structurel (recouvrement de stems).0.12
GRACE_RELEVANCE_MARGINLargeur du cluster gardé sous le meilleur score.0.15
GRACE_RELEVANCE_BUDGETPlafond de tokens des talents retenus.2000
GRACE_RELEVANCE_MODELModèle d'embeddings (Transformers.js).Xenova/multilingual-e5-small
TRANSFORMERS_CACHE / HF_HOMEDossier 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.

On this page