Aller au contenu

Migration de conteneurs isolés vers un Docker Compose unique sous DSM 7 (Hard links & Transmission)

Featured Replies

Posté(e)

Hello,

J’aimerais de l’aide sur mon projet de migration de mes conteneurs existants vers un projet « Docker Compose » unique sur mon Synology DS916+ sous DSLM 7.3.2.

Actuellement, mes applications (Transmission, Sonarr, Radarr, Prowlarr & FlareSolverr) fonctionnent avec des conteneurs séparés et des montages de dossiers distincts.

L'objectif principal de cette migration est de centraliser les points de montage afin d’utiliser la fonctionnalité de Hardlinks et éviter ainsi de perdre de la place via des doublons.

1. Structure actuelle (AS IS)

  • NAS : Synology DS916+, DSM 7.3.2, Container Manager.

  • Services : Transmission (environ 82 torrents actifs en seed), Sonarr, Radarr, Prowlarr, FlareSolverr.

  • Transmission Config : /volume1/docker/transmission/config ➔ /config

  • Transmission Downloads : /volume1/docker/transmission/downloads ➔ /downloads

  • Sonarr Bibliothèque : /volume1/video/Series ➔ /tv

  • Radarr Bibliothèque : /volume1/video/Films ➔ /movie

2. Structure visée (TO BE)

  • Un projet Docker Compose unique regroupant les 5 conteneurs (transmission2, sonarr2, radarr2, prowlarr2, flaresolverr2).

  • Montage racine unifié : /volume1/video sera monté sous la racine commune /video dans Transmission, Sonarr et Radarr.

  • Conservation des dossiers physiques : Les répertoires conservent leurs noms d'origine (Series et Films).

  • Séries : /volume1/video/Series ➔ /video

  • Films : /volume1/video/Films ➔ /video

  • Downloads terminés : /volume1/video/downloads/complete ➔ /video/downloads/complete

  • Downloads en cours : /volume1/video/downloads/incomplete ➔ /video/downloads/incomplete

3. Procédure de migration pas à pas

Étape 1 : Sauvegardes

  1. Exporter les sauvegardes de configuration (fichiers .zip natifs) depuis Sonarr, Radarr et Prowlarr…

  2. Relever les différentes variables d'environnement, comme les PUID/PGID

Étape 2 : Préparation du système de fichiers

  1. Créer l'arborescence /volume1/video/downloads/complete et /volume1/video/downloads/incomplete.

  2. Créer les répertoires de configuration cibles (ex: /volume1/docker/transmission2/config).

  3. Mettre en pause les torrents dans Transmission et arrêter l'ensemble des anciens conteneurs.

Étape 3 : Transfert des données de configuration et de téléchargement

  1. Copier le contenu du dossier /volume1/docker/transmission/config vers /volume1/docker/transmission2/config…

  2. Copier les fichiers téléchargés depuis /volume1/docker/transmission/downloads/complete vers /volume1/video/downloads/complete.

Étape 4 : Déploiement et reconfiguration

  1. Lancer le déploiement du fichier Docker Compose depuis Container Manager.

  2. Transmission 2 :

    • Démarrer le conteneur transmission2 (torrents toujours en pause).

    • Pour réassocier les torrents, sélectionner l'ensemble des torrents ➔ Set Location

    • Indiquer le chemin exact : /video/downloads/complete/

    • Choisir impérativement l'option "Localise data" (Localiser les données / Ne pas déplacer les fichiers).

    • Exécuter une vérification forcée (Force Recheck / Verify Local Data) pour recalculer les pièces et relancer le seed.

    • Vérification : La progression atteint 100% et le statut bascule en "Seeding" sans erreur.

  3. Sonarr 2 & Radarr 2 :

    • Démarrer les conteneurs et mettre à jour le Root Folder vers /video/Series et /video/Films.

    • Activer l'option Use Hardlinks instead of Copy.

    • Pointer les Download Clients vers la nouvelle instance Transmission 2.

Questions

  1. Reprise de seed Transmission : La réassociation via Set Location ("Localise data") sur le nouveau chemin /video/downloads/complete/ est-elle bien suffisante pour retrouver l'état des .resume sans ré-télécharger ?

  2. Hard links sur DSM 7 : Le montage global du dossier /volume1/video sur /video dans tous les conteneurs garantit-il l'utilisation des hard links sans copies physiques résiduelles ?

  3. Permissions : Avez-vous relevé des incohérences ou des risques d'erreurs de permissions (PUID/PGID) dans ce plan de migration ?

Merci beaucoup pour votre aide !

Keizer Sauze

Modifié par KeizerSauze
Merci

Posté(e)

Bonjour,

Le plan tient la route. Quelques remarques sur vos trois questions.

Question 1 : oui, Set Location sur /video/downloads/complete/ avec l'option "les données sont déjà là" (sans déplacer), puis Verify Local Data, suffit. Transmission met à jour le chemin dans ses fichiers .resume et ne retélécharge rien tant que les fichiers sont identiques. Pensez aussi à corriger download-dir et incomplete-dir dans le settings.json copié (/video/downloads/complete et /video/downloads/incomplete), conteneur arrêté, sinon Transmission réécrit le fichier à la fermeture et les nouveaux torrents partiront encore vers /downloads.

Question 2 : un hard link ne marche que si la source et la destination sont sur le même point de montage dans le conteneur, et dans le même dossier partagé côté DSM (chaque dossier partagé est un sous-volume Btrfs, un hard link ne le traverse pas). Votre racine /volume1/video convient, mais montez uniquement /volume1/video sur /video dans les trois conteneurs. Les lignes Series vers /video et Films vers /video de votre structure visée sont à retirer : si Sonarr ou Radarr voient deux montages différents, ils font une copie. Root folders /video/Series et /video/Films, Transmission dans /video/downloads/complete. Pour vérifier après un import, faites ls -li sur le fichier dans downloads et dans Series : même numéro d'inode et compteur de liens à 2.

Question 3 : même PUID/PGID pour Transmission, Sonarr et Radarr (l'utilisateur qui possède déjà les fichiers, la commande id en SSH vous le donne), droits lecture/écriture de cet utilisateur sur le dossier partagé video, et UMASK=002 pour que les fichiers créés restent modifiables par le groupe. Les dossiers downloads créés depuis File Station héritent des ACL du partage, mais vérifiez quand même que cet utilisateur y a bien l'écriture.

Dernier conseil : gardez les anciens conteneurs arrêtés (pas supprimés) et l'ancien dossier downloads jusqu'à ce que tous les torrents soient revenus en Seeding à 100 %. Ça vous laisse un retour arrière simple.

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

Account

Navigation

Rechercher

Rechercher

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.