Offre Durée limitée : -10% sur tout le site avec le code WELCOME10

Configurer un serveur FiveM avec Docker sur VPS Linux

Mis à jour le 3 octobre 2026 7 min de lecture 10 sections

Faire tourner un serveur FiveM dans un conteneur Docker apporte trois avantages concrets sur un VPS Linux : isolation du processus de jeu du reste du système, redémarrages automatiques sur crash sans intervention humaine, et migration simplifiée vers un nouveau serveur dédié en copiant simplement les volumes. Ce guide présente l'approche la plus répandue dans la communauté FiveM, basée sur l'image Docker spritsail/fivem (500 000 téléchargements, mise à jour régulière).

Avant de commencer, vérifiez que votre VPS FiveM tourne bien sur une architecture x86_64 : les artefacts FXServer ne sont pas disponibles pour ARM. Docker doit être installé et fonctionnel sur votre serveur ; si ce n'est pas encore le cas, consultez notre guide installer Docker sur un VPS Linux. Les commandes de ce guide s'appliquent aux distributions Debian et Ubuntu, les plus courantes pour l'hébergement de serveurs de jeu.

Pourquoi Docker pour un serveur FiveM sur VPS ?

Sans Docker, le daemon FXServer tourne directement sur le système d'exploitation de votre serveur VPS. En cas de plantage, il faut soit un service systemd configuré pour relancer automatiquement le processus, soit une intervention manuelle en ligne de commande. Avec Docker, la directive --restart=on-failure (ou always en production) confie le redémarrage automatique au moteur de conteneur, sans aucune configuration systemd supplémentaire.

L'isolation des configurations est l'autre avantage clé : le conteneur embarque exactement les bibliothèques système requises par FXServer, indépendamment de la distribution Linux de votre serveur dédié. Mettre à jour le serveur de jeu revient à remplacer l'image Docker et redémarrer le conteneur avec une seule commande, sans risque de conflits de paquets sur le système hôte. Cette approche facilite aussi l'administration de plusieurs instances FiveM sur un même serveur physique, chacune dans son propre conteneur avec des ressources et des configurations isolées.

L'image Docker spritsail/fivem

Il n'existe pas d'image officielle publiée par Cfx.re sur Docker Hub. L'image communautaire la plus utilisée est spritsail/fivem (500 000 pulls, mise à jour régulière pour suivre les nouvelles versions de FXServer). Elle propose deux tags :

  • latest : basé sur la version la plus récente de FXServer
  • stable : basé sur la version "optionnelle" de FXServer, plus ancienne mais testée plus longuement

Pour la plupart des serveurs RP actifs, le tag latest est recommandé car il inclut les correctifs de sécurité et de performance les plus récents. Téléchargez l'image avant le premier lancement :

sudo docker pull spritsail/fivem:latest

Lancer FiveM avec Docker run

La commande minimale pour démarrer un conteneur FiveM sur votre VPS Linux est :

sudo docker run -d \
  --name fivem \
  --restart=on-failure \
  -e LICENSE_KEY=<votre-clé-de-licence> \
  -p 30120:30120 \
  -p 30120:30120/udp \
  -v /opt/fivem/config:/config \
  -ti \
  spritsail/fivem

Points importants :

  • Le port 30120 (TCP et UDP) est le port de connexion des joueurs. Ouvrez-le dans le pare-feu de votre VPS.
  • Le volume /opt/fivem/config sur l'hôte correspond au répertoire /config dans le conteneur : c'est là que server.cfg et les ressources sont stockés sur le disque SSD de votre serveur.
  • Les flags -ti (interactive + pseudo-tty) sont obligatoires : sans eux, le conteneur plante immédiatement au démarrage (comportement documenté par l'image).
  • La clé de licence est obtenue gratuitement sur keymaster.fivem.net après avoir lié votre serveur à un compte Cfx.re.

Activer txAdmin dans le conteneur Docker

Pour utiliser txAdmin (le panneau d'administration web intégré à FXServer) dans le conteneur, ajoutez la variable d'environnement NO_DEFAULT_CONFIG=1 et exposez le port 40120 :

sudo docker run -d \
  --name fivem \
  --restart=on-failure \
  -e LICENSE_KEY=<votre-clé-de-licence> \
  -e NO_DEFAULT_CONFIG=1 \
  -p 30120:30120 \
  -p 30120:30120/udp \
  -p 40120:40120 \
  -v /opt/fivem/config:/config \
  -v /opt/fivem/txdata:/txData \
  -ti \
  spritsail/fivem

Le volume /txData persiste la base de données des joueurs, les bannissements et les configurations de txAdmin entre les redémarrages du conteneur. Sans ce volume, toutes les données de modération sont perdues à chaque recréation du conteneur. Accédez ensuite au panneau admin sur http://<IP-de-votre-VPS>:40120 depuis votre navigateur.

Mettre txAdmin derrière un proxy Nginx avec HTTPS

Sur un hébergeur qui expose votre serveur sur internet, il est recommandé de mettre txAdmin derrière un proxy inverse Nginx plutôt que d'exposer directement le port 40120. Nginx agit comme un point d'entrée unique, vous permettant d'ajouter un certificat TLS et de restreindre l'accès par adresse IP au niveau du proxy. Consultez notre guide sur la publication d'un service VPS Linux en HTTPS avec Nginx pour mettre en place ce proxy, et utilisez une règle de pare-feu UFW pour bloquer l'accès direct au port 40120 depuis l'extérieur.

Pare-feu : Consultez notre guide sur la gestion des ports avec UFW pour ouvrir le port 30120 et fermer le port 40120 aux connexions publiques sur votre serveur dédié.

Utiliser docker-compose pour un déploiement reproductible

Pour un serveur VPS en production, un fichier docker-compose.yml est plus facile à administrer qu'une longue commande docker run. Voici une configuration complète avec txAdmin et MariaDB (la base de données la plus compatible avec les frameworks ESX et QBCore) :

version: "3.8"

services:
  fivem:
    image: spritsail/fivem:latest
    container_name: fivem
    restart: on-failure
    tty: true
    stdin_open: true
    environment:
      LICENSE_KEY: ${LICENSE_KEY}
      NO_DEFAULT_CONFIG: "1"
    ports:
      - "30120:30120"
      - "30120:30120/udp"
      - "40120:40120"
    volumes:
      - ./server-data:/config
      - ./txdata:/txData
    depends_on:
      - mariadb

  mariadb:
    image: mariadb:11.8
    container_name: fivem-db
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
      MYSQL_DATABASE: fivem
      MYSQL_USER: fivem
      MYSQL_PASSWORD: ${MYSQL_PASSWORD}
    volumes:
      - ./mariadb-data:/var/lib/mysql

Créez un fichier .env à côté du docker-compose.yml pour les variables sensibles :

LICENSE_KEY=votre_clé_cfx_re
MYSQL_ROOT_PASSWORD=mot_de_passe_root_fort
MYSQL_PASSWORD=mot_de_passe_fivem_fort

Démarrez l'ensemble de la stack depuis la ligne de commande avec :

sudo docker compose up -d

La base de données MariaDB sera accessible depuis le conteneur FiveM via le nom de service mariadb. Dans votre server.cfg, configurez oxmysql avec la chaîne mysql://fivem:mot_de_passe@mariadb/fivem.

Sauvegardes des volumes Docker FiveM

Sur un serveur hébergé, les sauvegardes sont indispensables. Avec Docker, vos données de jeu sont entièrement contenues dans les répertoires de volumes montés : ./server-data, ./txdata et ./mariadb-data. Pour les sauvegarder, un script de copie vers un stockage externe ou un autre serveur suffit :

# Arrêter les conteneurs proprement avant la sauvegarde
sudo docker compose stop

# Archiver les volumes
tar czf /tmp/fivem-backup-$(date +%F).tar.gz ./server-data ./txdata ./mariadb-data

# Redémarrer les services
sudo docker compose start

Pour une stratégie de sauvegarde complète avec envoi hors site et chiffrement, consultez notre guide sur les sauvegardes d'un serveur FiveM. Surveillez également l'espace disque disponible sur votre VPS pour éviter qu'un volume plein ne coupe votre serveur de jeu.

Variables d'environnement disponibles

L'image spritsail/fivem supporte les variables suivantes pour personnaliser les configurations de démarrage :

  • LICENSE_KEY (obligatoire) : votre clé de licence Cfx.re obtenue sur keymaster.fivem.net
  • RCON_PASSWORD : mot de passe RCON. Si non renseigné, un mot de passe aléatoire de 16 caractères est généré automatiquement
  • NO_DEFAULT_CONFIG : à définir pour activer txAdmin (supprime le script de configuration par défaut)
  • NO_LICENSE_KEY : pour ne pas déclarer la clé dans les variables d'environnement quand elle est déjà dans un fichier de configuration
  • NO_ONESYNC : désactive OneSync si votre serveur n'en a pas besoin

Mettre à jour le serveur FiveM dans Docker

La mise à jour du serveur FiveM se réduit à deux commandes en ligne de commande sur votre serveur VPS, sans toucher aux scripts de configuration :

# Télécharger la nouvelle image depuis Docker Hub
sudo docker pull spritsail/fivem:latest

# Recréer le conteneur avec la nouvelle image
sudo docker compose up -d fivem

Les données de jeu, les configurations de txAdmin et la base de données MariaDB sont dans des volumes montés sur le disque SSD de votre serveur dédié; elles ne sont pas affectées par le remplacement du conteneur. Comparez avec notre guide sur la mise à jour d'un serveur de jeu Linux sans perdre la configuration pour comprendre les différences entre l'approche Docker et l'approche native.

Consulter les logs du serveur FiveM dans Docker

Pour suivre les logs du serveur en temps réel depuis votre terminal SSH en tant qu'admin :

# Logs en direct (Ctrl+C pour quitter)
sudo docker compose logs -f fivem

# Dernières 100 lignes de log
sudo docker compose logs --tail=100 fivem

Pour une analyse plus poussée des logs avec filtrage par date et niveau d'erreur, consultez notre guide sur l'analyse des logs d'un serveur de jeu avec journalctl. Pour le monitoring des ressources du VPS hôte (CPU, RAM, espace disque), notre guide sur la configuration des alertes de monitoring VPS Linux complète utilement cette approche Docker en vous avertissant avant que votre serveur ne sature.

ElypseCloud propose des serveurs FiveM sur VPS Linux et serveurs dédiés, prêts à accueillir votre stack Docker avec des ressources garanties et un réseau optimisé pour le jeu en ligne.

Voir les offres serveur FiveM