Agora

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
  1. Avant de commencer
  2. Étapes
  3. Tu sais que c'est réussi quand…
  4. Si ça ne marche pas
  5. Pour aller plus loin
  6. Ce que fait le script
  7. Relancer le script
  8. Le port ouvert directement sur Internet
  9. Schéma des dossiers
  10. Variante : le compose à la main

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, tape docker --version puis docker 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 de sudo.

  • 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 #

  1. 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 -->

  2. 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-XXXXX

    Le script affiche ses étapes (▸ Installation dans /opt/agora, ▸ Démarrage…) et rend la main en quelques secondes.

    <!-- CAPTURE C-031 -->

  3. Vérifie que les deux conteneurs tournent.

    docker ps

    Tu dois voir deux lignes, agora et agora-db, avec l'état Up.

    <!-- CAPTURE C-032 -->

  4. Suis le premier démarrage. Au tout premier lancement, Agora se télécharge, ce qui prend quelques minutes :

    docker logs -f agora

    Pour quitter le suivi sans arrêter Agora, tape Ctrl+C. Attends la ligne ✓ Ready in ….

    <!-- CAPTURE C-033 -->

  5. 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 -->

  6. 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 ps liste agora et agora-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/health répond "ok": true.

Si ça ne marche pas #

Message ou symptômeCauseQue faire
Docker n'est pas installéDocker manqueInstalle Docker (https://get.docker.com), puis relance la commande
Le plugin « docker compose » manque.Compose version 2 manqueInstalle le plugin Compose v2, puis relance
Lance ce script en root (ou avec sudo).Pas assez de droitsRelance 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 installationRelance avec ta clé à la fin de la commande
Le journal parle de clé absente ou refuséeLa clé de /opt/agora/.env est vide ou fausseVérifie AGORA_KEY dans ce fichier, puis cd /opt/agora && docker compose up -d ; voir Erreurs de licence
Le navigateur n'ouvre rienLe port est fermé, ou l'adresse est localeOuvre 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 psLe conteneur de la base ne tourne pascd /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 tiretsLa 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 absoluLe 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 IMPOSSIBLEDocker 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 invalideLa vérification a bien tourné et la signature n'est pas bonneRien 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 pleinDans /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 milieuRéseau coupé, disque pleinSi /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émentOù
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éesTrois volumes Docker : agora_db (la base), agora_app (application, pièces jointes, sauvegardes), agora_data (identité de l'installation)
Port3000 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 ?

  1. 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 -->

  2. Récupère le fichier docker-compose.yml d'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 -->

  3. Dans le même dossier, télécharge l'amorçage : curl -fsSL https://agorapanel.com/boot.mjs -o boot.mjs

  4. Lance docker compose up -d.

Ne mélange pas les deux voies. Le .env téléchargé sur le site (variante ci-dessus) va avec le compose à la main ; install.sh, lui, écrit son propre .env et son propre compose. Poser le .env du site dans /opt/agora avant de lancer install.sh donne une clé vide et un message de l'amorçage qui cite AGORA_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é ?