[GUIDE] Installer un serveur dédié Satisfactory avec Docker

Bibule
Par Bibule

Installer un serveur dédié Satisfactory avec Docker

Ce guide vous montre comment installer et configurer un serveur dédié Satisfactory en utilisant Docker, avec la configuration fournie dans le dépôt GitHub de Wolveix. Nous allons également automatiser les redémarrages et les mises à jour du serveur pour une maintenance simplifiée.

Prérequis

  • Système d’exploitation : Linux (Debian/Ubuntu recommandé, nous utiliserons Ubuntu pour ce tutoriel)
  • Docker : Docker doit être installé.
  • Docker Compose : Outil pour gérer les services multi-conteneurs.

Étape 1 : Installer Docker à partir du dépôt officiel

Pour installer Docker sur Ubuntu, nous allons suivre la méthode recommandée par la documentation officielle Docker, en utilisant les dépôts officiels.

Installation de Docker

1. Mettre à jour l’index des paquets et installer les paquets prérequis pour utiliser le dépôt Docker :

				
					sudo apt-get update
				
			
				
					sudo apt-get install ca-certificates curl gnupg lsb-release
				
			

2. Ajouter la clé GPG officielle de Docker :

				
					sudo mkdir -p /etc/apt/keyrings
				
			
				
					curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
				
			

3. Ajouter le dépôt Docker :

				
					echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
				
			

4. Installer Docker Engine :

				
					sudo apt-get update
				
			
				
					sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
				
			

5. Vérifier que Docker est bien installé :

				
					sudo docker run hello-world
				
			

Installation de Docker Compose

Docker Compose est maintenant inclus dans Docker comme plugin, vous n’avez donc pas besoin de l’installer séparément. Vous pouvez vérifier sa version avec :

				
					docker compose version
				
			

Étape 2 : Configuration du serveur Satisfactory avec Docker Compose

Créez un répertoire pour votre serveur Satisfactory :

- Advertisement -
				
					mkdir ~/satisfactory-server
				
			
				
					cd ~/satisfactory-server
				
			

Dans ce répertoire, créez un fichier docker-compose.yml et collez la configuration suivante :

				
					services:
  satisfactory-server:
    container_name: 'satisfactory-server'
    hostname: 'satisfactory-server'
    image: 'wolveix/satisfactory-server:latest'
    ports:
      - '7777:7777/udp'
      - '7777:7777/tcp'
    volumes:
      - './satisfactory-server:/config'
    environment:
      - MAXPLAYERS=4
      - PGID=1000
      - PUID=1000
      - ROOTLESS=false
      - STEAMBETA=false
    restart: always
    healthcheck:
      test: bash /healthcheck.sh
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 120s
    deploy:
      resources:
        limits:
          memory: 6G
        reservations:
          memory: 4G
				
			

Étape 3 : Ouvrir les ports dans le pare-feu

Assurez-vous que le port 7777 est ouvert pour TCP et UDP, ainsi que tout autre port nécessaire. Si vous utilisez UFW, exécutez les commandes suivantes :

				
					sudo ufw allow 7777/tcp
				
			
				
					sudo ufw allow 7777/udp
				
			

Étape 4 : Lancer le serveur

Une fois que le fichier docker-compose.yml est configuré et que les ports sont ouverts, démarrez votre serveur :

				
					docker compose pull
				
			
				
					docker compose up -d
				
			

Étape 5 : Gestion du serveur

Vérifiez l’état du serveur avec :

				
					docker compose ps
				
			

Pour arrêter ou redémarrer le serveur :

				
					docker compose down
				
			
				
					docker compose restart
				
			

Étape 6 : Automatiser le redémarrage et la mise à jour du serveur

L’automatisation du redémarrage et de la mise à jour du serveur peut être effectuée via des tâches cron. Nous allons créer deux tâches cron : une pour redémarrer le serveur à une heure spécifique chaque jour, et une autre pour vérifier et appliquer les mises à jour chaque semaine.

Ouvrez le crontab en tant que sudo pour configurer les tâches planifiées :

				
					sudo crontab -e
				
			

Ajoutez la ligne suivante pour redémarrer le serveur chaque jour à 4h du matin :

				
					0 4 * * * cd /home/yourusername/satisfactory-server && docker compose restart
				
			

Remplacez /home/yourusername/satisfactory-server par le chemin correct vers votre répertoire docker-compose.yml

Créer une tâche cron pour mettre à jour le serveur chaque semaine

Dans le même fichier crontab, ajoutez la ligne suivante pour mettre à jour le serveur tous les dimanches à 3h du matin :

				
					0 3 * * 0 cd /home/yourusername/satisfactory-server && docker compose pull && docker compose up -d
				
			

Enregistrez et fermez l’éditeur pour appliquer les changements.

Pour vous assurer que les tâches cron fonctionnent correctement, vous pouvez vérifier le journal des tâches planifiées avec la commande suivante :

				
					grep CRON /var/log/syslog
				
			

Erreurs courantes

Si vous obtenez l’erreur suivante lors de l’exécution de commandes Docker :

				
					permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.47/containers/json": dial unix /var/run/docker.sock: connect: permission denied
				
			

Cela signifie que votre utilisateur actuel n’a pas les permissions nécessaires pour accéder à Docker.

Solution

Ajoutez votre utilisateur au groupe Docker avec la commande suivante :

				
					sudo usermod -aG docker $USER
				
			

Déconnectez-vous de la session et reconnectez-vous à la machine pour que les changements prennent effet. Vous pouvez également redémarrer la machine si nécessaire.

Vérifiez que vous pouvez maintenant utiliser Docker sans avoir à utiliser sudo :

				
					docker ps
				
			

Si la commande fonctionne sans erreur, votre problème est résolu !

FAQ

Comment mettre ma save sur mon serveur ?

Depuis le jeu Satisfactory se connecter à votre serveur via l’adresse IP et le port. Une fois le mot de passe administrateur choisi aller dans l’onglet « Manage Save » puis « Upload Save ».
Attention, la sauvegarde doit se trouver ici :

				
					%LOCALAPPDATA%FactoryGameSavedSaveGames
				
			

Un problème ? Une question ?

Les joueurs et membres du Staff sont disponibles sur le serveur Discord dans le salon #❓╿aide-serveur-dédié.

Partager l'article