Agora

Les variables d'environnement

Où et comment modifier les réglages de démarrage d'Agora selon ta voie d'installation (Docker, panel, serveur Node.js), et la liste de ceux qui comptent.

Mis à jour le 5 oct. 2026, 13 h 36

Sur cette page
  1. Avant de commencer
  2. Étapes
  3. Docker avec install.sh
  4. Panel Pterodactyl ou Pelican (l'œuf)
  5. Serveur Node.js (agora.env)
  6. Tu sais que c'est réussi quand…
  7. Si ça ne marche pas
  8. Pour aller plus loin
  9. Une même chose, plusieurs noms
  10. Docker avec install.sh (/opt/agora/.env)
  11. Docker avec le compose manuel (.env)
  12. Œuf Pterodactyl / Pelican
  13. Serveur Node.js (agora.env)
  14. Variables de dépannage

En bref. Presque tout se règle dans l'administration d'Agora, à chaud. Les variables d'environnement (des réglages passés au programme quand il démarre, aux noms en majuscules comme AGORA_KEY) ne servent qu'au démarrage : la clé, la base, le secret de session et quelques options. Quand un réglage existe à la fois en variable et dans l'administration, la valeur de l'administration l'emporte. Tu les modifies à un endroit différent selon la voie par laquelle tu as installé Agora.

Avant de commencer #

Étapes #

Docker avec install.sh #

  1. Connecte-toi à ta machine en SSH.

  2. Ouvre le fichier /opt/agora/.env avec un éditeur de texte du terminal, par exemple nano /opt/agora/.env. Une variable par ligne, sous la forme NOM=valeur, sans espace autour du =.

  3. Enregistre, puis relance : cd /opt/agora && docker compose up -d. Docker recrée le conteneur agora avec les nouvelles valeurs.

    <!-- CAPTURE C-064 -->

Panel Pterodactyl ou Pelican (l'œuf) #

  1. Ouvre ton serveur Agora dans le panel, puis son onglet Startup.

  2. Modifie le champ voulu. Les noms sont en français et sans accents (Cle de licence, Base de donnees, Mettre a jour au demarrage…), c'est normal. Certaines variables n'apparaissent pas ou sont grisées : elles sont réservées à l'administrateur du panel.

  3. Enregistre, puis redémarre le serveur avec Restart.

    <!-- CAPTURE C-065 -->

Serveur Node.js (agora.env) #

  1. Ouvre le gestionnaire de fichiers du panel de ton hébergeur.
  2. Modifie le fichier agora.env, à côté de agora.mjs : une variable par ligne, sous la forme NOM=valeur. Une ligne qui commence par # est un commentaire.
  3. Enregistre, puis redémarre le serveur.

Tu sais que c'est réussi quand… #

Après le redémarrage, le comportement a changé comme prévu. Par exemple, avec Docker ou un panel, après avoir mis AGORA_UPDATE=1, la console affiche mise à jour demandée à l'étape [3/6] Version.

Si ça ne marche pas #

Ce que tu voisCause probableQue faire
Rien ne changeTu n'as pas relancé, ou l'administration d'Agora a sa propre valeur, qui l'emporteRelance (voir ci-dessus) ; vérifie le réglage correspondant dans l'administration
La clé de licence changée dans .env reste ignorée (Docker)Tu as relancé install.sh avec une nouvelle clé : elle est ignorée quand un .env existeModifie AGORA_KEY dans /opt/agora/.env, puis docker compose up -d
Le champ du panel est absent ou griséLa variable est réservée à l'administrateur du panelDemande-lui, ou laisse la valeur par défaut
Une ligne de agora.env est sans effetNom en minuscules ou avec un tiret, ou ligne mal forméeLes noms s'écrivent en majuscules, chiffres et _, sous la forme NOM=valeur
Tout le monde est déconnecté après une modificationTu as changé AUTH_SECRETRemets l'ancien secret ; sinon ressaisis les secrets de l'administration (voir ci-dessous)

Pour aller plus loin #

Une même chose, plusieurs noms #

Les noms diffèrent d'une voie à l'autre. Les deux colonnes Docker n'ont pas le même fichier de départ.

RéglageDocker install.sh (.env)Docker compose manuel (.env)Panel (onglet Startup)Node.js (agora.env)
Clé de licenceAGORA_KEY (AGORA_LICENSE_KEY est aussi lue)AGORA_LICENSE_KEYAGORA_KEY (Cle de licence)AGORA_KEY
Canal de mises à jourAGORA_UPDATE_CHANNELAGORA_UPDATE_CHANNELAGORA_CHANNEL (Canal de mise a jour)AGORA_UPDATE_CHANNEL
Base de données du HubDATABASE_URL, écrite par le scriptPOSTGRES_PASSWORD à remplirDATABASE_URL (Base de donnees) : facultative, vide = base intégréeDATABASE_URL facultative, absente = base portable installée toute seule
Reprendre un siège de licenceAGORA_TRANSFER—AGORA_TRANSFER (Reprendre le siege)AGORA_TRANSFER

<!-- À CONFIRMER : œuf tout-en-un (claude/pg-integre), ligne « Base de données du Hub », colonne Panel -->

Docker avec install.sh (/opt/agora/.env) #

VariableRôle
AGORA_KEYTa clé de licence. AGORA_LICENSE_KEY est aussi lue
POSTGRES_PASSWORD, DATABASE_URLBase PostgreSQL, tirées au sort par le script. Ne les change pas après coup
AUTH_SECRETSecret de session, tiré au sort. Le changer déconnecte tout le monde et rend illisibles les secrets rangés en base (mot de passe MySQL, token du bot…)
AGORA_PORTPort publié sur la machine (3000 par défaut)
AGORA_TXADMIN_PORTPort de l'onglet txAdmin publié sur la machine (40121 par défaut) : voir txAdmin dans Agora
AGORA_TRUSTED_PROXIESQui peut annoncer l'IP d'un visiteur. none par défaut sur une installation neuve. Voir Derrière un proxy
AGORA_UPDATE1 = installer la dernière version au prochain démarrage (à usage ponctuel)
AGORA_UPDATE_CHANNELstable (défaut) ou beta (palier Pro seulement)
AGORA_HUBAdresses du serveur de licences. Ne la change pas

Docker avec le compose manuel (.env) #

En plus des précédentes (la clé s'y appelle AGORA_LICENSE_KEY) :

VariableRôle
SITE_URLAdresse publique si tu as un domaine. Vide = l'adresse enregistrée à la mise en route
AUTH_DISCORD_ID, AUTH_DISCORD_SECRETFacultatives : l'écran de mise en route les demande
DISCORD_BOT_TOKEN, DISCORD_GUILD_IDFacultatives : se règlent dans Administration → Configuration → Connexion Discord
AGORA_SITE_NAME, AGORA_SITE_LOCALENom et langue par défaut (fr ou en)
TZFuseau horaire, par exemple America/Toronto ou Europe/Paris
SITE_ADDRESSTon domaine, pour le profil Caddy

Œuf Pterodactyl / Pelican #

Variable (nom dans le panel)RôleDéfaut
AGORA_KEY (Cle de licence)Ta clé. Déjà remplie dans l'œuf téléchargé depuis ton espace—
DATABASE_URL (Base de donnees)Facultative. Vide = Agora utilise sa base PostgreSQL intégrée (rien à installer). Remplie = une base PostgreSQL externe, de la forme postgresql://utilisateur:motdepasse@hote:5432/base?schema=public, qui prime. À réserver aux utilisateurs avancésvide
AUTH_SECRETRéservée à l'administrateur du panel. Vide : générée au premier démarrage et gardée dans .agora/—
AGORA_CHANNEL (Canal de mise a jour)stable ou beta. Sert au premier téléchargement et à AGORA_UPDATE ; pour la mise à jour en 1 clic, le canal choisi dans l'écran Mises à jour prime. Réservée à l'administrateur du panelstable
AGORA_UPDATE (Mettre a jour au demarrage)1 = installer la dernière version à chaque démarrage0
AGORA_TRANSFER (Reprendre le siege)1 = cette machine reprend le siège d'une installation précédente, après une réinstallation. Remets 0 ensuite0
AGORA_TXADMIN_PORT (Port de l'onglet txAdmin)Numéro de la seconde allocation du serveur, pour l'onglet Serveur → txAdmin (la première sert au site). off coupe le relais40121
AGORA_HUB, AGORA_SITEAdresses du serveur de licences et de l'amorçage. Ne les change pas. Le panel appelle la première « Hub de licences » : ce n'est pas ton Hub—

Serveur Node.js (agora.env) #

VariableRôle
AGORA_KEYObligatoire. Ta clé de licence
AGORA_UPDATE_CHANNELstable (défaut) ou beta (palier Pro seulement)
DATABASE_URLFacultative : une base PostgreSQL externe, qui prime sur la base portable installée toute seule
AUTH_URLFacultative : ton domaine en HTTPS, si l'hébergeur en fournit un
AGORA_TRANSFER1 le temps d'un démarrage pour reprendre le siège après une réinstallation

Les variables d'environnement réelles de l'hébergeur, quand il en offre, l'emportent sur le fichier.

Variables de dépannage #

VariableQuand t'en servir
PANEL_ALLOW_PRIVATE_DAEMON=1Ton panel est public mais son nœud (Wings) n'est joignable que par une adresse privée
AGORA_PG_BINDossier contenant pg_dump et psql d'une autre version (base externe en PostgreSQL 18 ou plus, machine qui n'est pas Linux x86-64)
AGORA_SETUP_TOKENJeton qui ouvre la mise en route quand il n'y a pas de clé de licence
RESTORE_DATABASE_URLBase externe où l'application n'est pas superutilisateur : URL d'un rôle restreint pour les restaurations
AGORA_SEED_ON_BOOT=falseAvant le tout premier démarrage : ne pas créer les exemples (sections, formulaire, campagne)

Cet article t'a aidé ?