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
- Copier
.env.example vers .env (racine) et veza-backend-api/.env.template vers veza-backend-api/.env
- Pour RS256 : exécuter
scripts/generate-jwt-keys.sh et configurer JWT_PRIVATE_KEY_PATH, JWT_PUBLIC_KEY_PATH
- Configurer
DATABASE_URL, REDIS_URL, CORS_ALLOWED_ORIGINS
- En production : ne jamais commiter
.env ni les fichiers .pem