NODE_ENV=production
PUBLIC_DOMAIN=13.140.162.59
PUBLIC_URL=https://www.unie.space
HTTP_PORT=8080
HTTPS_PORT=8443
POSTGRES_USER=connexa
POSTGRES_PASSWORD=232e127eef0fba1032fff3e4368db1a0
POSTGRES_DB=connexa
DATABASE_URL=postgres://avnadmin:AVNS_Tqqwxpl5lOZQcX4YW54@pg-29922234-katierony8-aa2c.l.aivencloud.com:19631/defaultdb?sslmode=require
REDIS_URL=redis://redis:6379
JWT_ACCESS_SECRET=3fa93a2dc1d5ac4d7ad0c68807810e7306ddd1f16d0a654e2e4dbf1fb109194356bb72f4e6614bfecb22475a7e3cc3c8
JWT_REFRESH_SECRET=056e1d306692cdc425fb80f0653e308d40c13da72d9d932a4eea62f228d34c07655066623e5aab78fff5a28d87336dd3
JWT_ACCESS_TTL=15m
JWT_REFRESH_TTL=30d
UPLOAD_MAX_BYTES=5242880
IMAGE_MAX_WIDTH=1600
IMAGE_QUALITY=80
RATE_LIMIT_WINDOW_MS=60000
RATE_LIMIT_MAX=120
MAIL_ENABLED=false
SMTP_HOST=
SMTP_PORT=587
SMTP_USER=
SMTP_PASSWORD=
MAIL_FROM=Connexa <no-reply@connexa.local>
CORS_ORIGIN=https://13.140.162.59:8443,https://localhost,https://www.unie.space,https://unie.space,https://portail.unie.space,https://console.unie.space,https://center.e-lix.com,https://mom.e-lix.com
KLIPY_API_KEY=7nMire5ah1JPx4m2YwwywUqY91lEf6jDaErAWCyNsD2kbAElqo2v3JHduZ0M9mIT
# Fiches films TMDB (synopsis FR, note, durée, casting pour Yablom).
TMDB_API_KEY=08a65946104635a1f03a4663a9feb369
UPLOAD_GIF_MAX_BYTES=41943040
GOOGLE_CLIENT_ID=1077549673314-hu4a24e6rkskidh13ttl1odemff3mn0c.apps.googleusercontent.com
# Carte 3D admin (Google Photorealistic 3D) — clé restreinte côté Google Cloud
# (Maps JavaScript API + Map Tiles API, référents console.unie.space/*).
GOOGLE_MAPS_API_KEY=AIzaSyC5FEzAKqnd-0sSSKVBxxkXQ6gE7YJnTLc

TURN_HOST=www.unie.space
TURN_PORT=3478
TURN_USER=uniespace853c2c
TURN_PASSWORD=sIpALGYlHzz8ZGpuXx1jWaSp2ZeWN4B0

# --- Stockage medias B2 (bucket prive uniespace-media, renseigne hors Git) ---
STORAGE_PROVIDER=backblaze_b2
B2_KEY_ID=005d2d88c21e0110000000001
B2_APPLICATION_KEY=K005DXR85mGtf/p9vrCyk1ffslhctYU
B2_BUCKET_NAME=uniespace-media
B2_ENDPOINT=https://s3.us-east-005.backblazeb2.com
B2_REGION=us-east-005
B2_SIGNED_TTL=900
MEDIA_VIDEO_MAX_BYTES=104857600
MEDIA_AUDIO_MAX_BYTES=26214400

# --- Multi-stockages : la place pour 10+ backends (B2 x20 + R2 x20) ------------
# Les nouveaux uploads utilisent STORAGE_DEFAULT_BACKEND (défaut = STORAGE_PROVIDER).
# Chaque média garde (provider, bucket) : la lecture retrouve le bon backend.
# Renseigne uniquement les blocs utilisés, laisse les autres vides.

STORAGE_DEFAULT_BACKEND=

# B2 n°2 (même schéma jusqu'à B2_20_* si besoin)
B2_2_KEY_ID=006f94a9aeedccf0000000001
B2_2_APPLICATION_KEY=K006pDso2bAWC0BV+rAVy6BJfR53EY4
B2_2_BUCKET_NAME=uniespace-media2
B2_2_ENDPOINT=https://s3.ca-east-006.backblazeb2.com
B2_2_REGION=ca-east-006

# Cloudflare R2 n°1 — endpoint explicite OU account id (dérivation auto)
R2_ACCESS_KEY_ID=
R2_SECRET_ACCESS_KEY=
R2_BUCKET_NAME=
R2_ENDPOINT=
R2_ACCOUNT_ID=
R2_REGION=auto

# R2 n°2 (même schéma jusqu'à R2_20_* si besoin)
R2_2_ACCESS_KEY_ID=
R2_2_SECRET_ACCESS_KEY=
R2_2_BUCKET_NAME=
R2_2_ENDPOINT=
R2_2_ACCOUNT_ID=
R2_2_REGION=auto

# --- Répartition auto : quotas + chaîne + repli local --------------------------
# Quand un stockage est plein (usage >= quota), les nouveaux fichiers vont au suivant.
STORAGE_CHAIN=
STORAGE_FALLBACK_LOCAL=true
USAGE_CACHE_TTL_SEC=60
# Quotas en octets (vide = illimité). Ex. 10737418240 = 10 Go.
B2_MAX_BYTES=
B2_2_MAX_BYTES=
R2_MAX_BYTES=
R2_2_MAX_BYTES=
LOCAL_MAX_BYTES=
MTX_API_URL=http://uniespace-tv:9997
MTX_API_USER=unietvctl
MTX_API_PASS=df891f61fe58ea3bcbe49a96e0d4056188021682f9902f3e

# --- Kodi headless + vStream (pilotage JSON-RPC par le backend) ----------------
KODI_URL=http://kodi:8080
KODI_USER=kodi
KODI_PASSWORD=84093ae62cb295c902422d4546ad83d7472e9263f5004a57
KODI_PORT=8080
