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 :
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é.