Spaces:
Running
Running
| # 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= | |