Installer avec Docker (install.sh)
Une seule commande installe Agora et sa base PostgreSQL sur une machine Linux avec Docker : tu n'as aucune base à préparer.
Mis à jour le 5 oct. 2026, 13 h 36
Sur cette page
En bref. Sur une machine Linux où Docker est installé, une seule commande prépare tout : le conteneur d'Agora, sa base de données et ta clé de licence. Tu n'as aucune base de données à créer : le script la fournit et choisit son mot de passe. Agora se télécharge au premier démarrage, puis tu termines dans le navigateur.
Avant de commencer #
Une machine Linux que tu administres : un VPS (un serveur loué chez un hébergeur), un NAS (un boîtier de stockage réseau) ou un ordinateur dédié. Si tu hésites entre cette voie, un panel ou un serveur Node.js, lis Choisir entre Docker, l'œuf de panel et un serveur Node.js.
Docker et son plugin Compose version 2 (la commande s'écrit
docker compose, avec une espace et sans tiret). Pour le vérifier, tapedocker --versionpuisdocker compose version: les deux doivent répondre un numéro de version. Il manque Docker ? Le script d'installation officiel est expliqué sur https://get.docker.com. Les deux mots sont définis dans le glossaire.<!-- CAPTURE C-004 -->
Les droits d'administrateur : connecte-toi en
root, ou fais précéder la commande desudo.Ta clé de licence (elle commence par
AGORA-). Elle est sur la page Installer sur mon panel de ton espace sur agorapanel.com (Mon espace → Installer sur mon panel), malgré le nom de la page : c'est là que se trouvent aussi tes fichiers Docker. Pas de clé encore ? Clique sur Obtenir ma clé d'essai gratuite : voir L'essai gratuit de 14 jours.Une sortie vers Internet en HTTPS depuis la machine (la liste complète est dans Prérequis).
Étapes #
Connecte-toi à ta machine en SSH (une connexion sécurisée au terminal de la machine). Depuis Windows 10 ou 11, ouvre PowerShell et tape
ssh root@ADRESSE-DE-TA-MACHINE; ton hébergeur te donne l'adresse et l'identifiant. Tu vois alors l'invite de la machine (root@…).<!-- CAPTURE C-030 -->
Lance l'installation. Colle cette commande en remplaçant la clé par la tienne :
curl -fsSL https://agorapanel.com/install.sh | sh -s -- AGORA-XXXXX-XXXXX-XXXXX-XXXXXLe script affiche ses étapes (
▸ Installation dans /opt/agora,▸ Démarrage…) et rend la main en quelques secondes.<!-- CAPTURE C-031 -->
Vérifie que les deux conteneurs tournent.
docker psTu dois voir deux lignes,
agoraetagora-db, avec l'état Up.<!-- CAPTURE C-032 -->
Suis le premier démarrage. Au tout premier lancement, Agora se télécharge, ce qui prend quelques minutes :
docker logs -f agoraPour quitter le suivi sans arrêter Agora, tape
Ctrl+C. Attends la ligne✓ Ready in ….<!-- CAPTURE C-033 -->
Ouvre le site. Dans ton navigateur, va à
http://ADRESSE-DE-TA-MACHINE:3000. Si la page ne s'ouvre pas depuis un autre ordinateur, ouvre le port 3000 dans le pare-feu de ton hébergeur (le pare-feu est le filtre qui autorise ou bloque les ports : voir Prérequis).<!-- CAPTURE C-036 -->
Fais la mise en route. L'écran qui s'affiche te guide en trois étapes : voir Premier démarrage et mise en route.
Tu sais que c'est réussi quand… #
docker pslisteagoraetagora-dbà l'état Up.- La console affiche
✓ Ready in …. - Ton navigateur affiche l'écran Mise en route, ou l'adresse
http://ADRESSE-DE-TA-MACHINE:3000/api/healthrépond"ok": true.
Si ça ne marche pas #
| Message ou symptôme | Cause | Que faire |
|---|---|---|
Docker n'est pas installé | Docker manque | Installe Docker (https://get.docker.com), puis relance la commande |
Le plugin « docker compose » manque. | Compose version 2 manque | Installe le plugin Compose v2, puis relance |
Lance ce script en root (ou avec sudo). | Pas assez de droits | Relance la commande précédée de sudo |
Clé de licence manquante : relance avec ta clé | Tu as lancé le script sans clé sur une première installation | Relance avec ta clé à la fin de la commande |
| Le journal parle de clé absente ou refusée | La clé de /opt/agora/.env est vide ou fausse | Vérifie AGORA_KEY dans ce fichier, puis cd /opt/agora && docker compose up -d ; voir Erreurs de licence |
| Le navigateur n'ouvre rien | Le port est fermé, ou l'adresse est locale | Ouvre le port 3000 dans le pare-feu ; un navigateur hors de ton réseau local ne voit pas une adresse en 192.168… |
agora-db n'apparaît pas dans docker ps | Le conteneur de la base ne tourne pas | cd /opt/agora && docker compose up -d, puis relis Les deux bases d'Agora et les questions fréquentes |
La clé de licence ne doit contenir que des lettres, chiffres et tirets | La clé a été recopiée avec un caractère en trop (guillemet, #, $, espace) | Recopie-la depuis ton espace, sans rien ajouter autour |
AGORA_DIR doit être un chemin absolu | Le dossier d'installation est écrit sans / au début, ou avec des espaces | Écris-le en entier, par exemple AGORA_DIR=/opt/agora, avec seulement des lettres, chiffres et / . _ - |
Vérification de l'amorçage IMPOSSIBLE | Docker n'a pas pu lancer la vérification (image node:22-alpine impossible à télécharger, disque plein, Docker arrêté) | Rien n'a été remplacé : règle le problème (réseau, place sur le disque, Docker), puis relance |
Amorçage REFUSÉ : signature absente ou invalide | La vérification a bien tourné et la signature n'est pas bonne | Rien n'a été remplacé. Si le site vient d'être mis à jour, relance dans une minute ; sinon ouvre un billet |
… est incomplet (POSTGRES_PASSWORD absent …) | Un .env coupé (installation interrompue, disque plein) | Si Agora n'a jamais démarré ici, supprime ce fichier (rm /opt/agora/.env) et relance ; sinon restaure-le depuis ta sauvegarde. Le script n'écrase jamais un .env existant |
Le démarrage a échoué (port pris) | Le port 3000 (ou 40121, l'onglet txAdmin) est déjà utilisé, ou un conteneur agora d'un autre dossier existe, ou le disque est plein | Dans /opt/agora/.env, change AGORA_PORT (et au besoin ajoute AGORA_TXADMIN_PORT=<autre port>), puis cd /opt/agora && docker compose up -d |
| L'installation s'est interrompue au milieu | Réseau coupé, disque plein | Si /opt/agora/.env est vide, supprime-le, puis relance la commande ; sinon relance simplement (sans danger) |
Pour aller plus loin #
Ce que fait le script #
| Élément | Où |
|---|---|
| Dossier d'installation | /opt/agora (change-le avec AGORA_DIR) |
| Configuration | /opt/agora/.env : mot de passe de la base, secret de session et clé, tirés au sort et gardés entre les mises à jour. Fichier lisible par root seulement |
| Compose | /opt/agora/compose.yml : un PostgreSQL 17 (agora-db) et une image Node publique (agora) |
| Données | Trois volumes Docker : agora_db (la base), agora_app (application, pièces jointes, sauvegardes), agora_data (identité de l'installation) |
| Port | 3000 pour le site (change-le avec AGORA_PORT avant de lancer le script), plus 40121 pour l'onglet txAdmin : voir txAdmin dans Agora |
L'application ne tourne jamais en root dans le conteneur : elle tourne sous l'utilisateur 1000, sans aucune capacité Linux. Le script est public et ne contient aucun code produit : c'est l'amorçage boot.mjs qui télécharge Agora, en vérifiant la signature et l'empreinte (le résumé court qui prouve qu'un fichier n'a pas été modifié).
Relancer le script #
Relancer la même commande est sans danger : ton .env et tes volumes sont conservés. L'amorçage et le compose sont remis à jour. Une clé passée en argument est ignorée si un .env existe déjà (le script le dit : « Clé passée en argument IGNORÉE ») : change AGORA_KEY dans /opt/agora/.env, puis docker compose up -d. De même, le port annoncé à la fin est toujours celui du .env en place : si tu passes un AGORA_PORT différent, il est ignoré et le script te le dit ; pour changer de port, modifie AGORA_PORT dans le .env. Les téléchargements du script ont un délai et deux reprises : une connexion qui se fige ne laisse plus l'installation pendue.
Le port ouvert directement sur Internet #
Une installation neuve écrit AGORA_TRUSTED_PROXIES=none dans .env : aucun visiteur ne peut choisir son adresse IP pour contourner les limites de débit. Si tu places ensuite un reverse proxy sur la même machine, lis Derrière un proxy.
Schéma des dossiers #
<!-- CAPTURE C-034 -->
Variante : le compose à la main #
Tu préfères poser les fichiers toi-même ?
Dans la page Installer sur mon panel, clique sur Télécharger mon .env (Docker Compose) : ta clé et des secrets tirés au sort y sont déjà. Comme le fichier contient ta clé, le site demande d'abord de vérifier ta session (voir Activer ou changer de clé).
<!-- CAPTURE C-035 -->
Récupère le fichier
docker-compose.ymld'Agora. <!-- À CONFIRMER : DOC-4, aucun lien public vers le docker-compose.yml manuel (absent de public/ du site) ; le compose.yml écrit par install.sh en tient lieu -->Dans le même dossier, télécharge l'amorçage :
curl -fsSL https://agorapanel.com/boot.mjs -o boot.mjsLance
docker compose up -d.
Ne mélange pas les deux voies. Le
.envtéléchargé sur le site (variante ci-dessus) va avec le compose à la main ;install.sh, lui, écrit son propre.envet son propre compose. Poser le.envdu site dans/opt/agoraavant de lancerinstall.shdonne une clé vide et un message de l'amorçage qui citeAGORA_LICENSE_KEY. Choisis l'une ou l'autre.
Ce compose propose aussi un profil Caddy pour le HTTPS automatique (voir Derrière un proxy). Dans ce cas, la clé s'appelle AGORA_LICENSE_KEY dans le .env : voir Les variables d'environnement.
Cet article t'a aidé ?
Articles liés
- Vérifier les prérequis avant d'installer AgoraUn endroit où faire tourner Agora (Docker, panel ou serveur Node.js), une clé de licence, un accès HTTPS sortant et un compte Discord ; la base du jeu seulement pour le MDT.
- Choisir entre Docker, l'œuf de panel et un serveur Node.jsDocker si tu as une machine à toi, l'œuf Pterodactyl ou Pelican si ton hébergeur te donne un panel, un fichier agora.mjs si tu n'as qu'un serveur Node.js : les trois donnent le même produit.
- Les deux bases d'Agora : celle du Hub et celle du jeuTon installation utilise deux bases de données : celle du Hub (PostgreSQL, fournie et gérée par Agora) et celle de ton serveur de jeu (MySQL ou MariaDB, que tu as déjà).
- Les variables d'environnementOù 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.
- Derrière un proxy : HTTPS, Cloudflare et adresse IP des visiteursObtenir le HTTPS pour ton Hub (Caddy, Cloudflare, proxy de ton hébergeur, Nginx), puis régler AGORA_TRUSTED_PROXIES et laisser passer les flux en direct.
- Faire la mise en route : clé, application Discord, administrateurAu premier démarrage, toutes les adresses mènent à l'écran de mise en route : clé de licence, application Discord, puis ton compte devient administrateur.
- Sauvegardes et restaurationSauvegarder la base d'Agora depuis l'administration, la télécharger hors du serveur et la restaurer. La copie de fichiers d'un panel n'est pas une sauvegarde.