Serveur Valheim avec Docker (guide 1.0)
Installer un serveur Valheim « à la main » avec SteamCMD marche très bien — voir notre guide SteamCMD. Mais si vous administrez déjà vos services avec Docker, il existe une image communautaire qui fait beaucoup plus que lancer le serveur : mises à jour automatiques, sauvegardes horaires, redémarrage quotidien, BepInEx en option, et tout le serveur tient dans un seul dossier facile à déplacer.
C’est l’image la plus utilisée pour Valheim, anciennement connue sous le nom lloesche/valheim-server, désormais maintenue sous ghcr.io/community-valheim-tools/valheim-server. Elle est à jour pour la 1.0 Deep North.
⚔️ Pas de machine Linux sous la main ?
Serveur Valheim géré, sans Docker à maintenir
Notre hébergeur Valheim s'occupe des mises à jour et des sauvegardes : dès 7,90 €/mois, Ryzen 9 5950X, Anti-DDoS 5 Tbps et support français 24/7.
Cette image est un projet communautaire, non affilié à Iron Gate. Elle est activement maintenue (dernière activité du dépôt : septembre 2026), mais c’est à vous d’en suivre les évolutions.
Ce que fait l’image pour vous
| Fonction | Comportement par défaut |
|---|---|
| Installation du serveur | Téléchargée depuis Steam au premier démarrage (~1 Go) |
| Mises à jour | Vérifiées toutes les 15 minutes, appliquées seulement si aucun joueur n’est connecté |
| Redémarrage | Tous les jours à 5 h 10, seulement si le serveur est vide |
| Sauvegardes | Au démarrage puis toutes les heures, conservées 3 jours |
| Configuration | Par variables d’environnement |
| Données | Tout dans le dossier monté sur /config (monde, sauvegardes, listes admin/ban/whitelist) |
Configuration requise
Les mainteneurs ont mesuré environ 2,8 Go de RAM consommés par le serveur à vide, et constaté que l’essentiel du travail repose sur un seul thread. Leur recommandation :
- minimum : 2 cœurs, 4 Go de RAM ;
- recommandé : 4 cœurs à haute fréquence, 8 Go de RAM.
Mieux vaut peu de cœurs très rapides que beaucoup de cœurs lents. Pour dimensionner selon la taille de votre monde : combien de RAM pour un serveur Valheim ?.
Étape 1 — Préparer les dossiers
mkdir -p $HOME/valheim-server/config/worlds_local $HOME/valheim-server/data
cd $HOME/valheim-server
config/: tout ce qui compte (monde, sauvegardes,adminlist.txt…). C’est ce dossier qu’on sauvegarde et qu’on déplace.data/: les fichiers du serveur téléchargés depuis Steam. Le monter évite de tout retélécharger à chaque recréation du conteneur.
Vous avez déjà un monde ? Copiez le dossier du monde (format 1.0) dans
config/worlds_local/avant le premier lancement.
Étape 2 — Le fichier d’environnement
Créez valheim.env :
cat > $HOME/valheim-server/valheim.env << 'EOF'
SERVER_NAME=Serveur des Vikings
WORLD_NAME=Midgard
SERVER_PASS=MotDePasseSolide
SERVER_PUBLIC=false
TZ=Europe/Paris
EOF
Les variables essentielles :
| Variable | Défaut | Rôle |
|---|---|---|
SERVER_NAME | My Server | Nom affiché dans la liste des serveurs |
WORLD_NAME | Dedicated | Nom du monde = nom du dossier dans worlds_local/ |
SERVER_PASS | secret | Mot de passe, 5 caractères minimum |
SERVER_PUBLIC | true | Serveur listé publiquement ou non |
SERVER_PORT | 2456 | Port UDP de départ |
SERVER_ARGS | — | Arguments supplémentaires (world modifiers, etc.) |
CROSSPLAY | false | Crossplay PlayFab (PS5, Switch 2, Xbox…) |
TZ | Etc/UTC | Fuseau horaire (utile pour les horaires de redémarrage et de sauvegarde) |
Deux règles du jeu s’appliquent aussi dans Docker :
- le mot de passe doit faire au moins 5 caractères, sinon le serveur refuse de démarrer ;
- il ne doit pas être contenu dans le nom du monde (ni dans la seed) — même conséquence.
TZest important : les horaires par défaut (redémarrage à 5 h 10, sauvegarde à la 5ᵉ minute de chaque heure) sont interprétés dans ce fuseau. Sans lui, ils sont en UTC.
Étape 3 — Le fichier docker compose
Le projet fournit un docker-compose.yaml officiel :
curl -o $HOME/valheim-server/docker-compose.yaml \
https://raw.githubusercontent.com/community-valheim-tools/valheim-server-docker/main/docker-compose.yaml
Son contenu :
services:
valheim:
image: ghcr.io/community-valheim-tools/valheim-server
cap_add:
- sys_nice
volumes:
- $HOME/valheim-server/config:/config
- $HOME/valheim-server/data:/opt/valheim
ports:
- "2456-2458:2456-2458/udp"
- "9001:9001/tcp"
env_file:
- $HOME/valheim-server/valheim.env
restart: always
stop_grace_period: 2m
Trois lignes méritent une explication :
2456-2458/udp: 2456 et 2457 pour le jeu, 2458 pour le crossplay (et certains mods) ;9001/tcp: l’interface web de supervision, désactivée par défaut. Si vous ne l’activez pas, supprimez cette ligne plutôt que d’exposer un port inutile ;stop_grace_period: 2m: laisse au serveur le temps de sauvegarder le monde à l’arrêt. Ne le réduisez pas.
cap_add: sys_nice est optionnel : il permet au serveur de s’accorder une priorité CPU plus élevée (sans lui, un avertissement failed to set thread priority apparaît au démarrage).
Étape 4 — Démarrer
cd $HOME/valheim-server
docker compose up -d
docker compose logs -f
Le premier démarrage prend plusieurs minutes (téléchargement du serveur). Attendez la ligne :
Game server connected
Le serveur est alors joignable. Ouvrez les ports 2456-2457 UDP sur votre pare-feu et votre box (et 2458 en crossplay) : ouvrir les ports d’un serveur Valheim.
Administrer le serveur
Les administrateurs
Au premier démarrage, l’image crée config/adminlist.txt. Ajoutez-y l’identifiant de chaque admin au format [Plateforme]_[Identifiant], relevé dans le panneau F2 en jeu ou dans les logs.
L’image propose aussi des variables
ADMINLIST_IDS,BANNEDLIST_IDSetPERMITTEDLIST_IDS, mais elles écrasent le contenu des fichiers à chaque démarrage. Choisissez une méthode et tenez-vous-y : soit les variables, soit l’édition des fichiers.
Le détail des trois fichiers : bannir et kicker des joueurs sur un serveur Valheim.
Les world modifiers
Ils passent par SERVER_ARGS, dans le fichier d’environnement :
SERVER_ARGS=-preset hard -modifier raids muchless
Rappel : le -preset en premier, sinon il écrase silencieusement les -modifier. Voir world modifiers Valheim.
Les commandes utiles
docker compose restart # redémarrer le serveur
docker compose pull && docker compose up -d # mettre à jour l'image elle-même
docker compose exec valheim supervisorctl restart valheim-backup # forcer une sauvegarde
Sauvegardes
L’image sauvegarde le dossier worlds_local/ au démarrage puis toutes les heures, dans config/backups/, et supprime les sauvegardes de plus de 3 jours.
| Variable | Défaut | Rôle |
|---|---|---|
BACKUPS_CRON | 5 * * * * | Planning (format cron) |
BACKUPS_MAX_AGE | 3 | Âge maximal en jours |
BACKUPS_MAX_COUNT | 0 | Nombre maximal (0 = illimité) |
BACKUPS_IF_IDLE | true | Sauvegarder même sans joueur |
BACKUPS_DIRECTORY | /config/backups | Emplacement |
Deux points spécifiques à la 1.0 :
- un monde 1.0 est un dossier de nombreux fichiers. Une sauvegarde prise pendant que le serveur écrit pourrait être incohérente : l’image le détecte grâce aux marqueurs de sauvegarde du jeu et réessaie jusqu’à trois fois ;
- ne placez jamais
BACKUPS_DIRECTORYà l’intérieur deworlds_local/: chaque sauvegarde recopierait toutes les précédentes.
Et surtout : les sauvegardes restent sur la même machine. Copiez-les ailleurs, par exemple avec la variable POST_BACKUP_HOOK (commande exécutée après chaque sauvegarde) : sauvegarder et restaurer un monde Valheim.
⚠️ Le piège de la conversion 1.0 avec PUID/PGID
À la première ouverture d’un monde d’avant la 1.0, le serveur le convertit au nouveau format (un dossier par monde). La conversion est irréversible.
Si vous faites tourner le conteneur avec un utilisateur non root (PUID/PGID différents de 0), les mainteneurs signalent qu’une ancienne version de l’image appliquait de mauvais droits aux nouveaux dossiers de monde. Résultat : le serveur n’arrive plus à ouvrir sa propre sauvegarde, écrit UnauthorizedAccessException dans le log… et continue de tourner sans monde chargé, en paraissant en bonne santé.
Avant de convertir un monde :
- faites un
docker compose pullpour avoir l’image à jour ; - sauvegardez le monde hors de la machine ;
- après le démarrage, cherchez
UnauthorizedAccessExceptiondans les logs.
Avec le PUID=0 par défaut, le problème ne se pose pas.
Crossplay
CROSSPLAY=true
Le serveur passe sur le backend PlayFab et ouvre le port 2458 UDP. Les joueurs PS5, Switch 2 et Xbox le rejoignent par code à 6 chiffres, visible dans les logs :
docker compose logs valheim | grep "is active with" | tail -n 1
N’activez pas le crossplay si tous vos joueurs sont sur Steam : certains mods fonctionnent mal, ou pas du tout, avec lui. Détails : activer le crossplay sur un serveur Valheim.
Mods BepInEx
BEPINEX=true
Au premier démarrage, BepInEx crée config/bepinex/. Les plugins vont dans config/bepinex/plugins/ : l’image les synchronise vers le serveur au démarrage et à chaque mise à jour. La synchronisation est à sens unique : un plugin retiré de config/ est aussi retiré du serveur.
⚠️ Avec les mises à jour automatiques, le serveur peut passer à une nouvelle version du jeu pendant la nuit… et vos mods cesser de fonctionner. Sur un serveur moddé, espacez les vérifications, par exemple une fois par jour :
UPDATE_CRON=0 6 * * *.
Préparer le modpack : installer un modpack r2modman sur un serveur Valheim.
FAQ
Quelle image Docker utiliser pour un serveur Valheim ?
ghcr.io/community-valheim-tools/valheim-server, la suite de la très populaire lloesche/valheim-server. Elle gère mises à jour, sauvegardes, redémarrages, crossplay et BepInEx.
L’image Docker Valheim est-elle compatible avec la 1.0 ?
Oui, elle est à jour pour la 1.0 Deep North et gère le nouveau format de monde en dossier (y compris pour les sauvegardes). Mettez l’image à jour avant de convertir un ancien monde.
Où sont les sauvegardes du monde dans Docker ?
Dans config/backups/ sur l’hôte (monté sur /config/backups dans le conteneur), au format zip par défaut, conservées 3 jours.
Comment mettre à jour le serveur Valheim dans Docker ?
C’est automatique : l’image vérifie les mises à jour toutes les 15 minutes et les applique quand le serveur est vide. Pour mettre à jour l’image elle-même : docker compose pull && docker compose up -d.
Quels ports ouvrir pour Valheim dans Docker ?
2456-2457 UDP pour le jeu, et 2458 UDP si le crossplay est activé.
Peut-on utiliser Docker sous Windows ?
L’image est prévue pour Linux. Sous Windows, le plus simple reste l’installation SteamCMD classique ou un hébergeur.
Conclusion
Avec l’image communautaire, un serveur Valheim tient dans deux fichiers (valheim.env et docker-compose.yaml) et un dossier (config/) : mises à jour, sauvegardes et redémarrages sont gérés pour vous. Restent trois réflexes : régler TZ, copier les sauvegardes hors de la machine, et mettre l’image à jour avant de convertir un monde d’avant la 1.0.
Vous préférez ne rien maintenir ? Un serveur Valheim HebergTonServ démarre à 7,90 €/mois, avec mises à jour, sauvegardes et support français inclus.
Pour aller plus loin
- Meilleur hébergeur Valheim 2026 : comment choisir
- Installer un serveur Valheim via SteamCMD
- Héberger soi-même ou chez un hébergeur ?
- Notifications Discord pour un serveur Valheim
- Lire les logs d’un serveur Valheim
Sources : community-valheim-tools/valheim-server-docker — README et docker-compose.yaml (variables, sauvegardes, conversion 1.0, configuration requise), guide officiel Iron Gate — A Guide to Dedicated Servers.