File size: 1,424 Bytes
1a47738
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
d349d11
 
 
 
 
 
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
# docker-compose.prod.yml — override durcissement institutionnel
#
# Usage :
#   export PICARONES_CSRF_SECRET=$(openssl rand -hex 32)
#   docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d
#
# Différences vs le compose local :
#   - CSRF exigé ET secret OBLIGATOIRE (``:?`` → Compose refuse de
#     démarrer AVANT de lancer le conteneur, avec un message clair,
#     plutôt que le conteneur qui crashe au lifespan) ;
#   - cookies Secure forcés (déploiement derrière TLS/reverse-proxy) ;
#   - bind 0.0.0.0 par défaut (le reverse-proxy gère l'exposition).
#
# Ce fichier n'embarque AUCUN secret : ``PICARONES_CSRF_SECRET`` doit
# venir de l'environnement / du gestionnaire de secrets institutionnel.

services:
  picarones:
    ports:
      - "${PICARONES_BIND:-0.0.0.0}:${PICARONES_PORT:-7860}:7860"
    environment:
      - PICARONES_PUBLIC_MODE=${PICARONES_PUBLIC_MODE:-1}
      - PICARONES_CSRF_REQUIRED=1
      - PICARONES_SECURE_COOKIES=1
      # ATTENTION : la valeur doit être quotée — le message d'erreur
      # contient ``avec:`` (deux-points + espace) que YAML interprète
      # comme un map dans le contexte d'une liste, ce qui fait échouer
      # ``docker compose config`` avec un message obscur.  La quote
      # force le scalaire.
      - "PICARONES_CSRF_SECRET=${PICARONES_CSRF_SECRET:?PICARONES_CSRF_SECRET requis en prod — générer avec openssl rand -hex 32}"