Variables d’environnement
Ajoutez et modifiez des variables chiffrées, et reliez une base de données à votre service.
Les variables d’environnement configurent votre service sans modifier le code. Chaque valeur est chiffrée au repos et masquée dans l’interface. Les admins peuvent afficher les valeurs, et chaque affichage est enregistré dans le journal d’audit. Une variable marquée secrète ne peut plus jamais être affichée.
Ajouter ou modifier une variable#
- 1
Ouvrez l’onglet Environment
Sur la page du service, allez dans l’onglet Environment.
- 2
Saisissez une clé et une valeur
Tapez le nom de la variable (mis en majuscules automatiquement, par exemple NODE_ENV) et sa valeur, puis cliquez sur « Ajouter ». Réutiliser une clé écrase sa valeur.
- 3
Redéployez pour appliquer
Les changements prennent effet au prochain déploiement. Cliquez sur « Déployer » quand vous êtes prêt.
La liste affiche un aperçu masqué, pas le texte en clair. Pour lire les valeurs, un admin clique sur « Afficher les valeurs », et chaque affichage est enregistré dans le journal d’audit. Une variable marquée « Secret » est en écriture seule : personne ne peut l’afficher, ni dans le tableau de bord, ni par l’API, ni par la CLI.
Connecter une base de données#
Ouvrez l’onglet Connexion d’une base de données pour afficher un bloc de variables de connexion prêt à coller, par exemple DATABASE_URL pour Postgres et MySQL, MONGODB_URI pour MongoDB ou REDIS_URL pour Redis. Copiez-les dans l’environnement de votre service.
Limites et règles#
- Les clés sont mises en majuscules automatiquement (node_env devient NODE_ENV).
- Les valeurs peuvent atteindre 32 768 caractères.
- Les changements prennent effet au prochain déploiement.
- Via l’API et la CLI, la liste des variables renvoie les clés avec des valeurs masquées. Un admin peut lire les valeurs avec gheima env reveal, qui ne renvoie jamais une variable secrète.
Groupes d’env (config partagée)#
Créez un groupe d’env réutilisable dans Groupes d’env, ajoutez des variables (ou importez un fichier .env) et attachez-le à plusieurs services. Au déploiement, les variables du groupe sont injectées dans chaque service attaché. Les variables propres au service priment sur celles du groupe. Pratique pour la config et les secrets partagés entre services.
Variables de build#
Les variables sont normalement injectées au démarrage du conteneur, pour qu’aucun secret ne se retrouve dans l’image. Certains builds en ont besoin plus tôt : une application Next.js qui pré-rend ses pages depuis la base de données, ou des valeurs NEXT_PUBLIC_ et VITE_ intégrées au bundle navigateur. Marquez ces clés avec l’icône marteau dans l’onglet Environnement, ou ajoutez-les sous « Variables de build ».
- Seules les clés marquées sont exposées au build. Les autres restent disponibles à l’exécution uniquement.
- Les valeurs sont montées comme secrets de build pour l’étape qui les lit, jamais écrites dans une couche d’image.
- Les clés se résolvent comme à l’exécution : le DATABASE_URL d’une base liée suffit à lister cette seule clé.
- Ce que votre build écrit à partir d’une valeur persiste : une valeur NEXT_PUBLIC_ intégrée reste dans le bundle, car c’est votre framework qui l’y a mise.
✦ Votre service lit sa configuration et ses identifiants de base de données depuis l’environnement, chiffrés et hors de votre code.