Aurora NexusConfiguration
Référence des variables `.env` (Aurora Nexus)
(depuis `ENV_REFERENCE.md`)
Objectif : rappeler le rôle des variables d’infrastructure lues au démarrage des services (API, Gateway, Ingestion, UI).
Secrets : à saisir via le wizard ou un gestionnaire de secrets, jamais en clair dans Git.
Rechargement : modifier le .env, puis docker compose --env-file <path> up -d (pas de rebuild nécessaire).
Paramètres “métier” (RAG, cache, UI) : voir docs/03_Configuration/12-Settings-Catalog.md (stockés en base, modifiables via l’UI).
Noyau sécurité / authentification
JWT_SECRET: secret HMAC pour les JWT Admin/UI. Doit être fort et unique par environnement.ALLOW_INSECURE_JWT_SECRET: laisser àfalseen prod (bloque les secrets vides/placeholder).AUTH_COOKIE_NAME,AUTH_COOKIE_SECURE,AUTH_COOKIE_SAMESITE,RETURN_JWT_IN_BODY: mode cookie vs bearer. En prod :AUTH_COOKIE_SECURE=true,RETURN_JWT_IN_BODY=false.GATEWAY_INTERNAL_SECRET: secret HTTPX-Internal-Secretentre API et Gateway.INSTALLATION_WIZARD_TOKEN(si utilisé) : protection du wizard.ALLOW_ADMIN_ENV_WRITE:falseen prod pour empêcher l’écriture du.envvia l’admin API.OAUTH_LOGIN_CODE_TTL_SECONDS,OAUTH_LOGIN_CODES_RETENTION_DAYS: TTL + rétention des codes OAuth.
Réseau / ports
HOST_API_PORT,HOST_UI_PORT,HOST_GATEWAY_PORT,HOST_QDRANT_PORT,HOST_MINIO_API_PORT,HOST_MINIO_CONSOLE_PORT,POSTGRES_HOST_PORT,HOST_REDIS_PORT: ports exposés sur l’hôte (bind 127.0.0.1 par défaut dans le compose).PUBLIC_DOMAIN,NEXT_PUBLIC_API_URL,INTERNAL_API_URL: URLs publiques vs internes (UI, middleware, API).CORS_ALLOW_ORIGINS: obligatoire si cookies; liste d’origines séparées par virgules.
Base de données / caches
DATABASE_URL+POSTGRES_*: connexion Postgres (éviter l’expo publique).REDIS_URL,CELERY_BROKER_URL,CELERY_RESULT_BACKEND,CELERY_TASK_DEFAULT_QUEUE,AURORA_GATEWAY_CELERY_QUEUE: broker/résultats Celery.QDRANT_URL,QDRANT_COLLECTION,QDRANT_CACHE_COLLECTION: stockage vecteurs + cache sémantique.QDRANT_ORPHANS_GC_*: garbage collector des points orphelins (activer/planifier si besoin).
Stockage objet
MINIO_ROOT_USER,MINIO_ROOT_PASSWORD: credentials root MinIO (≥8 chars).MINIO_SERVER_URL,MINIO_BROWSER_REDIRECT_URL,S3_ENDPOINT,S3_BUCKET_UPLOADS,S3_BUCKET_ARTIFACTS,S3_BUCKET_BACKUPS,S3_REGION,S3_SSL.PUBLIC_UPLOAD_BASE_URL: base utilisée dans les URLs pré-signées côté navigateur.
LLM / clés fournisseurs
OPENAI_API_KEY,OPENAI_ORGANIZATION_ID,OPENAI_ADMIN_KEY,OPENAI_USAGE_PROJECT.OPENROUTER_API_KEY,OPENROUTER_USAGE_API_KEY,OPENROUTER_BASE_URL.LLM_CREDENTIALS_ENC_KEY: clé Fernet (44 chars) pour chiffrer/déchiffrer les credentials BYOK en base. Ne pas changer sans migration.ALLOW_LEGACY_PLAINTEXT_CREDENTIALS: àfalseen prod (force le chiffrement).GATEWAY_DEFAULT_MODEL,CACHE_EMBEDDING_SIZE: config Gateway/cache.
Ingestion / RAG
EMBEDDINGS_MODEL,LANGCHAIN_MODEL_NAME,DEFAULT_QUERY_PROVIDER.RETRIEVE_K,FETCH_K,MMR_LAMBDA,MAX_LLM_TOKENS,MAX_CHUNK_SIZE,MAX_WORKERS.DOC_OCR,DOC_GENERATE_PAGE_IMAGES,DOC_TABLE_STRUCTURE,DOC_PICTURE_DESCRIPTION,DOC_PICTURE_CLASSIFICATION,DOC_FORMULA_ENRICHMENT.MAX_UPLOAD_SIZE_MB,BATCH_MAX_FILES,BATCH_MAX_FILE_MB,BATCH_MAX_TOTAL_MB,ENABLE_INGEST_URL(désactiver par défaut pour limiter le SSRF).TENANT_DEFAULT,ENFORCE_TENANT_DEFAULT,ENFORCE_CALLER_APP_REGISTRY.
Logs / rétention
QUERIES_LOG_STORE_QUESTION,QUERIES_LOG_STORE_ANSWER.QUERIES_LOG_MAX_QUESTION_CHARS,QUERIES_LOG_MAX_ANSWER_CHARS,QUERIES_LOG_MAX_CITATIONS,QUERIES_LOG_MAX_CITATIONS_BYTES,QUERIES_LOG_MAX_CITATION_FIELD_CHARS.QUERIES_LOG_RETENTION_DAYS,OPENROUTER_USAGE_RETENTION_DAYS,LLM_EVALUATION_RETENTION_DAYS,EMBEDDINGS_LOG_RETENTION_DAYS.RETENTION_PURGE_ENABLED,RETENTION_PURGE_INTERVAL_SECONDS.
UI / i18n
INSTANCE_LOCALE,FEEDBACK_REQUIRED.NEXT_PUBLIC_AUTH_MODE:cookie(recommandé) oubearer.
Rate-limit / diagnostics
RATE_LIMIT_WINDOW_SECONDS,RATE_LIMIT_MAX: rate-limit best effort en mémoire (non distribué).AURORA_DIAGNOSTIC_LOG: logs supplémentaires (désactiver en prod).
Rappels de bonnes pratiques
- Ne pas versionner
.env; utiliser.env.examplecomme référence de clés. - Stocker les secrets dans un coffre ou un fichier hors repo (chmod 600).
- Toute modif
.env→docker compose --env-file … up -dpour recharger. - En prod, laisser
ALLOW_ADMIN_ENV_WRITE=falseetRETURN_JWT_IN_BODY=false.