veza/docs/ENV_VARIABLES.md
2026-03-05 19:22:31 +01:00

4.8 KiB

Variables d'environnement Veza

Référence complète des variables d'environnement utilisées par la plateforme Veza. v0.9.1 : Migration JWT RS256 (JWT_PRIVATE_KEY_PATH, JWT_PUBLIC_KEY_PATH).

Voir aussi : .env.example, veza-backend-api/.env.template, veza-stream-server/.env.example.


Backend API (veza-backend-api)

Authentification JWT (v0.9.1 RS256)

Variable Description Type Requis Valeur par défaut Exemple
JWT_PRIVATE_KEY_PATH Chemin vers la clé privée RSA (signature) string Oui (prod) /secrets/jwt-private.pem
JWT_PUBLIC_KEY_PATH Chemin vers la clé publique RSA (vérification) string Oui (prod) /secrets/jwt-public.pem
JWT_SECRET Secret HS256 (déprécié, fallback dev uniquement) string Si pas RS256 min 32 chars
JWT_ISSUER Issuer claim (access/refresh tokens) string Non veza-api veza-api
JWT_AUDIENCE Audience claim string Non veza-platform veza-platform
JWT_ACCESS_TOKEN_DURATION Durée access token duration Non 15m 5m, 1h
JWT_REFRESH_TOKEN_DURATION Durée refresh token duration Non 30d 7d, 14d

Génération des clés RS256 :

scripts/generate-jwt-keys.sh
# ou manuellement :
openssl genrsa -out jwt-private.pem 2048
openssl rsa -in jwt-private.pem -pubout -out jwt-public.pem

Base de données

Variable Description Type Requis Valeur par défaut Exemple
DATABASE_URL URL connexion PostgreSQL string Oui postgres://veza:password@localhost:5432/veza?sslmode=disable
DATABASE_READ_URL URL réplica lecture (optionnel) string Non postgres://veza:password@replica:5432/veza

Redis

Variable Description Type Requis Valeur par défaut Exemple
REDIS_URL URL connexion Redis string Oui redis://localhost:6379
REDIS_ENABLE Activer Redis bool Non true true, false

CORS & Domaine

Variable Description Type Requis Valeur par défaut Exemple
APP_DOMAIN Domaine applicatif string Non veza.fr veza.fr, app.veza.com
CORS_ALLOWED_ORIGINS Origines CORS autorisées string Oui http://veza.fr:5173
FRONTEND_URL URL frontend (OAuth, reset) string Non http://localhost:5173 https://app.veza.com

Autres services

Variable Description Type Requis Valeur par défaut Exemple
STREAM_SERVER_URL URL stream server string Non http://veza.fr:8082 http://stream:8082
STREAM_SERVER_INTERNAL_API_KEY Clé API interne transcode string Non secret partagé
CHAT_SERVER_URL URL chat (legacy) string Non http://veza.fr:8081
RABBITMQ_URL URL RabbitMQ string Non amqp://veza:password@localhost:5672/

Stream Server (veza-stream-server)

JWT (v0.9.1 RS256)

Variable Description Type Requis Valeur par défaut Exemple
JWT_PUBLIC_KEY_PATH Chemin clé publique RSA (vérification) string Oui (prod) /secrets/jwt-public.pem
JWT_SECRET Secret HS256 (phase transition uniquement) string Si pas RS256 min 32 chars
JWT_EXPIRATION TTL tokens (secondes) int Non 3600 300, 3600

Remarque : Le stream server valide les tokens émis par le backend. Il utilise la clé publique partagée (JWT_PUBLIC_KEY_PATH) pour RS256.


Variables communes (veza-common)

Services Rust utilisant veza-common (config_rust JwtConfig) :

Variable Description Type Requis Valeur par défaut Exemple
JWT_SECRET Secret JWT string Oui min 32 chars (VEZA-SEC-001)
JWT_ISSUER Issuer string Non veza-api veza-api
JWT_AUDIENCE Audience string Non veza-platform veza-platform

Checklist de démarrage

  1. Copier .env.example vers .env (racine) et veza-backend-api/.env.template vers veza-backend-api/.env
  2. Pour RS256 : exécuter scripts/generate-jwt-keys.sh et configurer JWT_PRIVATE_KEY_PATH, JWT_PUBLIC_KEY_PATH
  3. Configurer DATABASE_URL, REDIS_URL, CORS_ALLOWED_ORIGINS
  4. En production : ne jamais commiter .env ni les fichiers .pem