Les deux bases d'Agora : celle du Hub et celle du jeu
Ton 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à).
Mis à jour le 4 oct. 2026, 17 h 45
Sur cette page
En bref. Ton installation utilise deux bases de données (des classeurs numériques où les programmes rangent leurs informations), qu'il ne faut pas confondre. La base du Hub est le carnet d'Agora : Agora la crée et la gère seul, tu n'as rien à faire ; la base du jeu est celle de ton serveur FiveM : elle existe déjà, tu dis seulement à Agora comment la lire.
Les deux bases en une image #
<!-- CAPTURE C-001 -->
Le Hub (ton site Agora) range ses informations dans sa base à lui, et va lire celles de ton serveur de jeu dans l'autre. Les deux bases ne se mélangent jamais. Les mots techniques sont expliqués dans le glossaire.
Comparer les deux bases #
| Base du Hub | Base du jeu | |
|---|---|---|
| C'est | Le carnet d'Agora | La base de ton serveur FiveM |
| Type | PostgreSQL | MySQL ou MariaDB |
| Elle contient | Les membres, le forum, les candidatures, les dons, les réglages du site, la licence, la configuration du MDT | Les personnages, l'argent, les jobs et les véhicules de ton framework, plus les dossiers du MDT (fiches, mandats, arrestations, rapports…) dans des tables dont le nom commence par agora_ |
| Qui la crée | Agora, ou son installation | Ton framework (ESX, QBCore, Qbox) : elle existe déjà |
| Ce que tu fais | Rien, sauf la sauvegarder | La brancher une fois, dans Serveur → Base de données |
| Sans elle | Agora ne démarre pas | Le forum marche ; le MDT, la carte live, la RH et la concession non |
La base du Hub : rien à faire #
Agora a besoin d'une base PostgreSQL. Selon la façon dont tu l'installes, c'est lui qui la fournit :
- Docker avec
install.sh: le script démarre un second conteneur,agora-db, avec un mot de passe tiré au sort. Tu n'as rien à faire. - Docker avec un fichier compose écrit à la main : le même conteneur est prévu. Une seule chose à faire : choisir un mot de passe (
POSTGRES_PASSWORD) dans le fichier.env. - Panel Pterodactyl ou Pelican (œuf) : la base est intégrée au serveur d'Agora lui-même. Tu laisses la variable « Base de donnees » vide, et rien d'autre n'est à installer ni à ouvrir. <!-- À CONFIRMER : œuf tout-en-un (claude/pg-integre) -->
- Serveur Node.js d'hébergeur : au premier démarrage,
agora.mjstélécharge PostgreSQL (environ 23 Mo) et l'installe tout seul.
Dans tous les cas, tu n'écris aucun SQL (le langage des bases de données), tu ne crées aucune table et tu n'importes aucun fichier : Agora pose lui-même la structure de sa base (les « migrations ») et ses données de départ au premier démarrage.
Piège du panel. L'onglet Databases d'un serveur de panel crée en général une base MySQL. Elle ne sert pas au Hub. Tu peux t'en servir pour la base du jeu, jamais pour celle d'Agora. <!-- À CONFIRMER : l'onglet Databases de Pelican propose-t-il PostgreSQL ? (vérification banc, phase 0 point 2) -->
La base du jeu : à brancher une fois #
Le MDT, la carte live, la RH et la concession lisent les personnages de ton serveur dans sa base. Tu la branches une seule fois.
Ouvre Serveur → Base de données, encadré Connexion à la BD du jeu.
<!-- CAPTURE C-306 -->
Si ton panel est déjà relié à Agora, clique sur Détecter la configuration : Agora remplit les identifiants et reconnaît le framework. Sinon, remplis Hôte, Port, Utilisateur, Mot de passe et Base à la main, après avoir créé un utilisateur MySQL dédié : tout est décrit dans Brancher la base de données du serveur de jeu.
Enregistre, puis clique sur Tester.
Ce qu'Agora fait dans cette base : il lit les personnages, les jobs, les grades et les véhicules sans les modifier ; il crée ses propres tables, préfixées agora_ ; il n'écrit dans tes tables que pour la concession (débit de l'argent et véhicule livré).
Tu sais que c'est réussi quand… #
- Base du Hub : l'adresse
/api/healthde ton Hub répond"ok": trueet"db": "ok". - Base du jeu : le bouton Tester affiche la version de MySQL et le nombre de personnages, et nomme le framework retenu.
Si ça ne marche pas #
| Ce que tu vois | Cause probable | Que faire |
|---|---|---|
| Agora ne démarre pas et la console se plaint de la base (Docker) | Le conteneur agora-db ne tourne pas | docker ps doit lister agora et agora-db ; relance avec docker compose up -d dans /opt/agora, puis lis les questions fréquentes |
| Le forum marche, mais le MDT, la carte live ou la concession restent vides | La base du jeu n'est pas branchée, ou le framework n'est pas détecté | Brancher la base de données du serveur de jeu et Frameworks pris en charge |
| Le test de la base du jeu est refusé | Mauvais utilisateur, mauvais mot de passe, ou l'utilisateur n'a pas le droit de se connecter depuis la machine d'Agora | Base du jeu injoignable ou refusée |
| Tu as collé l'adresse de ta base de jeu dans la variable « Base de donnees » du panel | Cette variable est celle du Hub : elle attend du PostgreSQL, pas du MySQL | Vide la variable (la base du jeu se règle dans Serveur → Base de données) puis redémarre |
<!-- À CONFIRMER : œuf tout-en-un (claude/pg-integre) ; dernière ligne du tableau ci-dessus : variable vide = base intégrée -->
Sauvegarder les deux bases #
- Base du Hub : Administration → Agora, bloc Sauvegardes. Agora en fait aussi une toute seule avant chaque mise à jour. Voir Sauvegardes et restauration.
- Base du jeu : elle est à toi et à ton hébergeur ; avec le palier Pro, Serveur → Base de données propose aussi d'exporter la base du jeu.
Pour aller plus loin #
- Ports. PostgreSQL écoute d'habitude sur le port 5432, MySQL et MariaDB sur le 3306. Un « 3306 » dans une adresse désigne donc d'habitude la base du jeu ; un « 5432 », celle du Hub.
- La copie de fichiers du panel n'est pas une sauvegarde de la base intégrée. Elle copie une base en cours de fonctionnement, donc incohérente : seules les sauvegardes d'Agora font foi. <!-- À CONFIRMER : œuf tout-en-un (claude/pg-integre) -->
- Apporter ta propre base PostgreSQL. Réservé aux utilisateurs avancés, jamais nécessaire : si tu as déjà un serveur PostgreSQL, tu peux indiquer son adresse dans la variable
DATABASE_URL, de la formepostgresql://utilisateur:motdepasse@hote:5432/base?schema=public. Elle prime alors sur la base intégrée. <!-- À CONFIRMER : œuf tout-en-un (claude/pg-integre) --> - Rôles restreints. Agora crée lui-même, dans la base du Hub, deux rôles aux droits limités : un pour l'application, un pour les restaurations.
Cet article t'a aidé ?
Articles liés
- Glossaire : les mots techniques d'Agora, expliqués simplementHub, panel, œuf, Docker, PostgreSQL, framework, bail : chaque mot technique de la documentation défini en une ou deux phrases, par thème.
- Brancher la base de données du serveur de jeuLe MDT lit la vraie base de ton serveur FiveM : crée un utilisateur MySQL dédié, joignable depuis Agora, puis remplis Serveur → Base de données.
- 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.
- 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.