Aurora Nexus
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 à false en 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 HTTP X-Internal-Secret entre API et Gateway.
  • INSTALLATION_WIZARD_TOKEN (si utilisé) : protection du wizard.
  • ALLOW_ADMIN_ENV_WRITE : false en prod pour empêcher l’écriture du .env via 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 : à false en 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é) ou bearer.

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.example comme référence de clés.
  • Stocker les secrets dans un coffre ou un fichier hors repo (chmod 600).
  • Toute modif .envdocker compose --env-file … up -d pour recharger.
  • En prod, laisser ALLOW_ADMIN_ENV_WRITE=false et RETURN_JWT_IN_BODY=false.

On this page