Spaces:
Running
Running
File size: 8,373 Bytes
7d5b986 fc30527 7d5b986 fc30527 7d5b986 fc30527 7d5b986 53f4d56 fc30527 7d5b986 fc30527 7d5b986 fc30527 53f4d56 fc30527 53f4d56 b0f08c7 53f4d56 fc30527 0c80c8c fc30527 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 | # Variables d'environnement supportΓ©es par Picarones.
#
# Copier en ``.env`` et remplir selon votre dΓ©ploiement :
#
# cp .env.example .env
# editor .env
#
# ``docker-compose.yml`` lit ``.env`` automatiquement. Pour un appel
# direct ``docker run``, ajouter ``--env-file .env``.
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# Mode de dΓ©ploiement
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
#
# Picarones supporte deux modes de dΓ©ploiement, chacun avec un profil
# de sΓ©curitΓ© distinct :
#
# βββββββββββββββββββββββ¬βββββββββββββββββββββββββββββββββββββββββββββββ
# β Mode public β HuggingFace Space, dΓ©mo en ligne, anonyme β
# β β β ``PICARONES_PUBLIC_MODE=1`` β
# β β β CSRF dΓ©sactivΓ© (anonyme) β
# β β β cloud OCR/LLM bloquΓ©s β
# β β β rate limit par IP β
# βββββββββββββββββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββ€
# β Mode institutionnel β DΓ©ploiement BnF, universitΓ©, archive β
# β β β derriΓ¨re SSO (Shibboleth/CAS/OIDC) β
# β β β ``PICARONES_CSRF_REQUIRED=1`` β
# β β β ``PICARONES_CSRF_SECRET=<32 bytes hex>`` β
# β β OBLIGATOIRE β l'app refuse de dΓ©marrer β
# β β sans secret (Sprint S6.9). β
# βββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββββββββββββββ
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# Mode public (HuggingFace Space, dΓ©mo)
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# Active le mode public. Valeurs acceptΓ©es : ``1``, ``true``, ``yes``.
# En mode public : OCR cloud bloquΓ©s, browse roots confinΓ©s,
# entity_extractor dΓ©sactivΓ© (sauf allowlist), rate limit par IP.
#
# NB : docker-compose.yml force ``PICARONES_PUBLIC_MODE=1`` PAR DΓFAUT
# (fail-closed). Mettre ``0`` ici uniquement pour un dΓ©ploiement
# institutionnel contrôlé (derrière SSO + reverse-proxy TLS).
PICARONES_PUBLIC_MODE=
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# Mode institutionnel (production)
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# Active la protection CSRF (double-submit cookie + HMAC).
# OBLIGATOIRE en production, en complΓ©ment d'un SSO.
PICARONES_CSRF_REQUIRED=
# Secret HMAC pour signer les tokens CSRF.
# OBLIGATOIRE si ``PICARONES_CSRF_REQUIRED=1`` β sans secret stable,
# tous les tokens sont invalidΓ©s Γ chaque redΓ©marrage du process,
# ce qui dΓ©grade gravement l'UX (toutes les sessions actives reΓ§oivent
# 403 jusqu'Γ reload manuel).
#
# GΓ©nΓ©rer une fois et persister dans le secret manager institutionnel
# (Vault / AWS Secrets Manager / Kubernetes Secret) :
#
# openssl rand -hex 32
#
# Ne JAMAIS committer ce secret. Ne JAMAIS le mettre dans un Dockerfile
# ni dans un docker-compose.yml versionnΓ©.
PICARONES_CSRF_SECRET=
# Liste de chemins (sΓ©parateur : ``:`` Unix / ``;`` Windows) que
# ``/api/corpus/browse`` et ``/api/reports`` autorisent. Surcharge
# le dΓ©faut.
PICARONES_BROWSE_ROOTS=
# Allowlist (sΓ©parateur virgule) des dotted paths d'extracteurs NER
# autorisΓ©s via le champ ``entity_extractor`` du payload web.
# Vide = le champ dΓ©clenche un import+appel dynamique : fail-closed
# (refusΓ© en mode public, tolΓ©rΓ© seulement pour l'opΓ©rateur local).
# Renseigner explicitement en institutionnel, ex :
# monpkg.ner:SpacyExtractor,autrepkg.ner:Fn
PICARONES_ENTITY_EXTRACTOR_ALLOWLIST=
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# docker-compose β rΓ©seau & images
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# Interface de bind du port hΓ΄te (docker-compose.yml).
# DΓ©faut fail-closed : 127.0.0.1 (accessible uniquement en local).
# Mettre ``0.0.0.0`` pour exposer délibérément (derrière TLS/proxy).
PICARONES_BIND=127.0.0.1
# Image Ollama (docker-compose.yml, profil ``ollama``).
# DΓ©faut : ollama/ollama:latest. Γpingler une version pour la
# reproductibilitΓ© institutionnelle, ex : OLLAMA_IMAGE=ollama/ollama:0.3.14
OLLAMA_IMAGE=
# Plafonds applicatifs.
PICARONES_MAX_UPLOAD_MB=100
PICARONES_MAX_CONCURRENT_JOBS=2
PICARONES_RATE_LIMIT_PER_HOUR=5
# Surcharge la Content-Security-Policy si nΓ©cessaire.
PICARONES_CSP=
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# ClΓ©s API LLM (optionnel β uniquement si vous utilisez un pipeline LLM)
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
OPENAI_API_KEY=
ANTHROPIC_API_KEY=
MISTRAL_API_KEY=
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# ClΓ©s API OCR cloud (optionnel)
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
GOOGLE_APPLICATION_CREDENTIALS=
AZURE_DOC_INTEL_ENDPOINT=
AZURE_DOC_INTEL_KEY=
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# RΓ©seau / port d'exposition.
#
# NB : variable utilisΓ©e UNIQUEMENT par ``docker-compose.yml`` pour
# mapper le port hΓ΄te (cf. ligne ``${PICARONES_PORT:-7860}:7860``).
# Le code Python ne la lit pas β pour changer le port serveur,
# utiliser ``picarones serve --port <N>`` ou modifier le CMD du
# Dockerfile.
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
PICARONES_PORT=7860
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
# Persistance (Sprint A8) β chemin de la base SQLite des jobs.
# Override pour sortir du conteneur (volume montΓ©).
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
PICARONES_JOBS_DB=
|