Skip to main content

Synchroniser automatiquement les sauvegardes Yuzu avec Syncthing entre PC Windows, Synology NAS et Odin 2 Portal

Dernière mise à jour : 24/06/2026

Objectif

Mettre en place une synchronisation automatique et bidirectionnelle des sauvegardes de jeux Nintendo Switch émulés via Yuzu, entre :

  • un PC Windows (Yuzu)
  • un NAS Synology servant de hub central Syncthing
  • une Odin 2 Portal Android (Yuzu Android)

Le cas documenté ici est Zelda Tears of the Kingdom (TOTK), mais la méthode est réutilisable pour n’importe quel autre jeu.


Architecture cible

PC Windows (Yuzu)  <---->  NAS Synology (Syncthing)  <---->  Odin 2 Portal (Yuzu Android)

Le NAS joue le rôle de hub central :

  • le PC synchronise ses sauvegardes vers le NAS
  • l’Odin synchronise ses sauvegardes vers le NAS
  • le NAS redistribue les changements aux autres appareils

Cette architecture évite de dépendre d’un lien direct PC ↔ Odin et permet de conserver une copie persistante des sauvegardes sur le NAS.


Principe de fonctionnement

On ne synchronise pas tout le dossier nand/user/save de Yuzu. On synchronise uniquement le dossier de sauvegarde du jeu concerné.

Pour TOTK, le dossier de sauvegarde est celui du Title ID :

0100F2C0115B6000

Chaque appareil possède son propre chemin Yuzu local, mais Syncthing traite ces chemins comme le même dossier logique.


Chemins utilisés dans cette documentation

PC Windows (Yuzu)

C:\Users\nicolas.ancre.NIKOS-GAMES\AppData\Roaming\yuzu\nand\user\save\0000000000000000\97BCE075333CA0C0FD835EA83D24B424\0100F2C0115B6000

NAS Synology (stockage réel DSM)

/volume1/hubiC/Jeux/Switch/backup/zelda-totk

Odin 2 Portal (Yuzu Android)

Android/data/com.andromeda.androbench2/files/nand/user/save/0000000000000000/FABB2587AE67576FBE3369E49255EE18/0100F2C0115B6000

Prérequis

  • PC Windows avec Yuzu et Syncthing installés
  • NAS Synology avec accès SSH + Docker / Container Manager
  • Odin 2 Portal avec Yuzu Android + Syncthing-Fork
  • un réseau local fonctionnel entre les 3 appareils

Règle d’or

Ne pas jouer au même jeu sur deux appareils en même temps.
Syncthing sait synchroniser des modifications, mais si le même jeu est lancé et sauvegardé sur deux appareils différents en parallèle, des conflits peuvent apparaître.

Étape 1 — Identifier le dossier de sauvegarde du jeu

Sur PC Yuzu

  1. Ouvrir Yuzu
  2. Faire un clic droit sur le jeu
  3. Choisir Open Save Data Location
  4. Noter le chemin du dossier ouvert

Pour TOTK, le dossier obtenu est :

C:\Users\nicolas.ancre.NIKOS-GAMES\AppData\Roaming\yuzu\nand\user\save\0000000000000000\97BCE075333CA0C0FD835EA83D24B424\0100F2C0115B6000

Sur Yuzu Android

Le dossier de sauvegarde est dans l’arborescence de l’application, sous :

Android/data/com.andromeda.androbench2/files/nand/user/save/0000000000000000/FABB2587AE67576FBE3369E49255EE18/0100F2C0115B6000

Important : sur Android, l’accès à Android/data peut nécessiter un explorateur de fichiers compatible ou le sélecteur de dossiers SAF utilisé par Syncthing-Fork.


Étape 2 — Préparer le dossier de sauvegarde sur le NAS

Créer un dossier dédié au jeu sur le NAS :

/volume1/hubiC/Jeux/Switch/backup/zelda-totk

Ce dossier servira de réplique centrale des sauvegardes TOTK.


Étape 3 — Déployer Syncthing sur le Synology

Docker Compose Syncthing

Créer un dossier de travail, par exemple :

/volume1/docker/syncthing

Puis créer le fichier docker-compose.yml suivant :

services:
  syncthing:
    image: syncthing/syncthing:latest
    container_name: syncthing
    hostname: nas-syncthing
    network_mode: host
    restart: unless-stopped
    environment:
      - PUID=1026
      - PGID=100
      - UMASK=002
    volumes:
      - /volume1/docker/syncthing:/var/syncthing
      - /volume1/hubiC/Jeux/Switch/backup/zelda-totk:/sync/zelda-totk

Pourquoi network_mode: host ?

Parce que Syncthing fonctionne mieux ainsi sur un réseau local pour la découverte des appareils et les connexions directes.


Étape 4 — Corriger le problème de certificats Docker sur Synology (si nécessaire)

Dans notre cas, Docker sur le Synology ne pouvait plus tirer d’images depuis Docker Hub à cause de l’absence du bundle CA :

/etc/ssl/certs/ca-certificates.crt

Symptômes

Error response from daemon: Get "https://registry-1.docker.io/v2/": tls: failed to verify certificate: x509: certificate signed by unknown authority

Correction

En root sur le NAS :

sudo -i

mkdir -p /root/backup-ca-fix-20260624
cp -a /etc/ssl /root/backup-ca-fix-20260624/etc-ssl-backup

cd /tmp
wget --no-check-certificate https://curl.se/ca/cacert.pem -O cacert.pem

mkdir -p /etc/ssl/certs
cp /tmp/cacert.pem /etc/ssl/certs/ca-certificates.crt
chmod 644 /etc/ssl/certs/ca-certificates.crt

Vérification

curl -I https://registry-1.docker.io/v2/

Le bon résultat est un HTTP/2 401 ou un code similaire sans erreur TLS.


Étape 5 — Corriger les permissions du conteneur Syncthing

Le conteneur Syncthing doit pouvoir écrire :

  • dans son dossier de configuration : /volume1/docker/syncthing
  • dans le dossier de sauvegarde du jeu : /volume1/hubiC/Jeux/Switch/backup/zelda-totk

Dans notre cas, l’utilisateur Synology n.ancre possède :

uid=1026
gid=100

Commandes de correction

sudo -i

chown -R 1026:100 /volume1/docker/syncthing
chown -R 1026:100 /volume1/hubiC/Jeux/Switch/backup/zelda-totk

chmod -R u+rwX,g+rwX /volume1/docker/syncthing
chmod -R u+rwX,g+rwX /volume1/hubiC/Jeux/Switch/backup/zelda-totk

Étape 6 — Démarrer Syncthing sur le NAS

cd /volume1/docker/syncthing
docker compose down
docker compose up -d

Vérifier le conteneur

docker logs syncthing --tail 50

Vérifier que le montage du dossier de sauvegarde est bon

docker exec -it syncthing sh
ls /sync/
ls /sync/zelda-totk/

Dans notre cas, on devait voir des fichiers comme :

album
option.sav
slot_00
slot_01
slot_02
slot_03
slot_04
slot_05
storage

Étape 7 — Configurer la synchronisation PC ↔ NAS

1. Ajouter le NAS comme appareil dans Syncthing sur le PC

Récupérer l’ID du NAS dans son interface web Syncthing, puis l’ajouter dans Syncthing côté PC.

2. Créer le dossier partagé sur le PC

  • Folder Label : TOTK Save
  • Folder ID : totk-save
  • Folder Type : Send & Receive
  • Folder Path :
C:\Users\nicolas.ancre.NIKOS-GAMES\AppData\Roaming\yuzu\nand\user\save\0000000000000000\97BCE075333CA0C0FD835EA83D24B424\0100F2C0115B6000

Partager ce dossier avec le NAS.

3. Accepter le dossier côté NAS

Quand le NAS reçoit la proposition de dossier, utiliser les paramètres suivants :

  • Folder Label : TOTK Save
  • Folder ID : totk-save
  • Folder Type : Send & Receive
  • Folder Path côté conteneur :
/sync/zelda-totk

Important : dans l’interface Syncthing du conteneur, il faut utiliser le chemin vu par le conteneur, pas le chemin DSM brut.

4. Activer le versioning sur le NAS

Sur le dossier TOTK Save côté NAS, activer un versioning :

  • Staggered File Versioning recommandé
  • ou à défaut Trash Can File Versioning

5. Vérification

Le dossier doit finir en état Up to Date / À jour sur :

  • le PC
  • le NAS

Étape 8 — Configurer la synchronisation Odin ↔ NAS

1. Sauvegarde de sécurité sur l’Odin

Avant toute chose, faire une copie du dossier de sauvegarde Android vers un emplacement de backup.

2. Installer et ouvrir Syncthing-Fork

Récupérer l’ID de l’appareil Odin dans Syncthing-Fork.

3. Ajouter l’Odin comme appareil dans Syncthing sur le NAS

Depuis le NAS, ajouter un appareil distant avec l’ID de l’Odin, puis partager le dossier TOTK Save avec lui.

4. Accepter le NAS sur l’Odin

Dans Syncthing-Fork, accepter le NAS comme appareil.

5. Accepter le dossier partagé sur l’Odin

Quand l’Odin reçoit le dossier :

  • Folder Label : TOTK Save
  • Folder ID : totk-save
  • Folder Type : Send & Receive

6. Sélectionner le bon dossier local sur l’Odin

Choisir comme chemin local :

Android/data/com.andromeda.androbench2/files/nand/user/save/0000000000000000/FABB2587AE67576FBE3369E49255EE18/0100F2C0115B6000

Le plus fiable est de le sélectionner via le sélecteur de dossiers Android / SAF si Syncthing-Fork le propose.

7. Autoriser l’accès au dossier

Valider toutes les permissions Android demandées pour l’accès au dossier Android/data/....

8. Vérifier la première synchronisation

Après association au NAS, le dossier doit finir À jour / Up to Date sur :

  • le PC
  • le NAS
  • l’Odin

Étape 9 — Vérifier le fonctionnement

Test 1 — PC → NAS → Odin

  1. Lancer TOTK sur le PC
  2. Créer une nouvelle sauvegarde
  3. Fermer Yuzu
  4. Attendre la synchro Syncthing
  5. Vérifier que le NAS passe à jour
  6. Vérifier que l’Odin passe à jour
  7. Lancer TOTK sur l’Odin et confirmer que la nouvelle sauvegarde est visible

Test 2 — Odin → NAS → PC

  1. Lancer TOTK sur l’Odin
  2. Sauvegarder
  3. Fermer Yuzu Android
  4. Attendre la synchro vers le NAS
  5. Vérifier que le PC passe à jour
  6. Lancer TOTK sur le PC et confirmer que la nouvelle sauvegarde est visible

Comment ajouter un nouveau jeu plus tard

La logique est toujours la même :

  1. identifier le dossier de sauvegarde du jeu sur le PC
  2. identifier le dossier de sauvegarde du jeu sur l’Odin
  3. créer un dossier dédié sur le NAS
  4. monter ce dossier dans le conteneur Syncthing
  5. créer un nouveau partage Syncthing avec un nouvel ID
  6. associer ce partage au PC, au NAS et à l’Odin

Exemple de méthode pour ajouter un nouveau jeu

1. Trouver le dossier de sauvegarde sur le PC

Dans Yuzu PC :

  1. clic droit sur le jeu
  2. Open Save Data Location

2. Créer le dossier dédié sur le NAS

Exemple pour Mario Kart 8 Deluxe :

/volume1/hubiC/Jeux/Switch/backup/mario-kart-8-deluxe

3. Ajouter le volume dans le docker-compose.yml du NAS

Exemple :

services:
  syncthing:
    image: syncthing/syncthing:latest
    container_name: syncthing
    hostname: nas-syncthing
    network_mode: host
    restart: unless-stopped
    environment:
      - PUID=1026
      - PGID=100
      - UMASK=002
    volumes:
      - /volume1/docker/syncthing:/var/syncthing
      - /volume1/hubiC/Jeux/Switch/backup/zelda-totk:/sync/zelda-totk
      - /volume1/hubiC/Jeux/Switch/backup/mario-kart-8-deluxe:/sync/mario-kart-8-deluxe

Après modification :

cd /volume1/docker/syncthing
docker compose down
docker compose up -d

4. Créer un nouveau dossier partagé Syncthing

Exemple :

  • Folder Label : Mario Kart 8 Save
  • Folder ID : mk8-save

5. Côté PC

Créer le partage sur le chemin exact du save Mario Kart 8.

6. Côté NAS

Accepter le partage en pointant vers :

/sync/mario-kart-8-deluxe

7. Côté Odin

Associer le même partage au dossier de sauvegarde Mario Kart 8 côté Android.


Convention recommandée pour les nouveaux jeux

Élément Convention recommandée Exemple TOTK
Dossier NAS réel /volume1/hubiC/Jeux/Switch/backup/<nom-jeu> /volume1/hubiC/Jeux/Switch/backup/zelda-totk
Chemin conteneur /sync/<nom-jeu> /sync/zelda-totk
Folder Label Syncthing <Nom du jeu> Save TOTK Save
Folder ID Syncthing <slug-court>-save totk-save

Bonnes pratiques

  • toujours faire une sauvegarde manuelle avant la première synchro d’un nouveau jeu
  • utiliser un dossier Syncthing par jeu
  • activer le versioning sur le NAS
  • ne pas lancer le même jeu en même temps sur deux appareils
  • tester le flux PC → NAS → Odin puis Odin → NAS → PC après chaque nouveau jeu ajouté

Dépannage

Erreur : permission denied sur le NAS

Vérifier :

  • le PUID / PGID du conteneur
  • les permissions du dossier réel DSM
  • les droits sur /volume1/docker/syncthing et sur le dossier du jeu

Erreur : le dossier Syncthing NAS ne doit pas pointer vers /volume1/...

Dans l’interface Syncthing du conteneur, le chemin du dossier doit être le chemin monté dans le conteneur :

/sync/zelda-totk

et non le chemin DSM brut.

Erreur TLS Docker Hub sur Synology

Vérifier la présence de :

/etc/ssl/certs/ca-certificates.crt

et reconstruire le bundle CA si nécessaire.

Syncthing Android n’arrive pas à écrire dans Android/data

Réassocier le dossier via le sélecteur Android / SAF et revérifier les permissions accordées à Syncthing-Fork.


Résultat attendu

À la fin, la sauvegarde TOTK est synchronisée automatiquement entre :

  • le PC de jeu
  • le NAS Synology
  • l’Odin 2 Portal

Le joueur peut :

  • jouer sur le PC en streaming Moonlight / Sunshine
  • reprendre la partie sur l’Odin en local
  • puis revenir sur le PC plus tard

sans avoir à copier les sauvegardes manuellement.