Files
2026-06-09 18:40:21 +02:00

4.7 KiB


title: SoulSync created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, arr, sync, multi-instance, sonarr, radarr] confidence: high contested: false sources: [https://selfh.st/apps/?tag=*arr, https://github.com/SoulSync/SoulSync]

🎬 SoulSync

Synchroniseur bidirectionnel intelligent entre instances Sonarr/Radarr : réplique les médias, profils, indexeurs et configurations entre serveurs (ex. 4K ↔ 1080p, domestique ↔ seedbox).

📋 Informations Générales

Attribut Valeur
Nom SoulSync
Slug soulsync
Description Outil de synchronisation entre instances Sonarr/Radarr, gère la réplication de bibliothèque, de profils et de configuration selon des règles
Site officiel https://soulsync.netlify.app
Repository https://github.com/SoulSync/SoulSync
Stars 1 859
Licence MIT
Langage principal Python
Catégorie *arr (utilitaires)
Tags [catalogue, arr, sync, multi-instance, sonarr, radarr]

📝 Description

SoulSync répond à un cas d'usage très spécifique mais fréquent chez les power-users : gérer plusieurs instances Sonarr/Radarr sans devoir tout maintenir à la main. Le setup typique :

  • Instance 4K (stockage NAS costaud, profils qualité UHD, client torrent VPN résidentiel)
  • Instance 1080p (seedbox externe, VPN commercial, profils efficients en espace)
  • Instance back-up ou partage famille

Le problème : ajouter une série sur l'instance 4K, il faut la répliquer sur 1080p avec les bons profils. Modifier un profil, le pousser. Ajouter un indexeur, le pousser. Changer un tag, le pousser. À la main, c'est l'enfer.

SoulSync offre un système de règles de sync avec :

  • Mapping 1:1 : chaque entité d'une source mappe vers une cible.
  • Filtres : ne synchroniser que les séries avec tel tag, tel profil qualité, tel genre.
  • Bidirectionnel ou unidirectionnel : la source pousse, ou les deux convergent.
  • Conflits : règles de résolution (last-write-wins, source prioritaire, manuelle).
  • Hooks de fin : webhook, notif Discord quand un sync modifie X médias.
  • Dry-run : toujours, prévisualiser les changements avant application.

Différenciation : c'est plus ciblé que Notifiarr (qui est un hub d'automation généraliste) et plus simple que de scripter en bash sur l'API Sonarr/Radarr.

🚀 Installation

Via Docker (recommandé)

# docker-compose.yml
services:
  soulsync:
    image: ghcr.io/soulsync/soulsync:latest
    container_name: soulsync
    restart: unless-stopped
    environment:
      - TZ=Europe/Paris
      - APP_URL=https://soulsync.example.com
    volumes:
      - ./config:/app/config
    ports:
      - "6789:6789"

Installation manuelle

Python 3.11+. git clone, pip install -r requirements.txt, configurer .env, python app.py.

⚙️ Configuration

  • Connexion source et cible : URL + API key de chaque instance Sonarr/Radarr à synchroniser.
  • Profils de sync : par catégorie (séries, films, profils qualité, indexeurs, custom formats), activer/désactiver.
  • Filtres : tags, types, dates d'ajout, watched status.
  • Mapping des chemins : /data/tv/instance-A/mnt/seedbox/tv, important pour la cohérence hardlinks.
  • Schedule : exécution manuelle, ou cron (toutes les 6h, quotidien, hebdo).
  • Dry-run par défaut : toujours coché, désactiver au cas par cas.

🔗 Alternatives

  • Notifiarr — automation générale *arr, plus large, plus complexe à configurer.
  • Recyclarr — sync Git-based de profils TRaSH, pas d'items (séries/films).
  • Scripts custom Python/bash — flexibles, mais aucune UI ni logs centralisés.
  • API Sonarr/Radarr manuelle — faisable, mais chronophage et source d'erreurs.

🔒 Sécurité

  • API keys multiples : SoulSync a autant d'API keys qu'il gère d'instances, chiffrer ./config au repos.
  • HTTPS + SSO : obligatoire, l'UI permet de déclencher des syncs manuels.
  • Mode dry-run : tester sur quelques jours, examiner le diff, puis activer en prod.
  • Logs détaillés : conserver, permettent de comprendre pourquoi telle série a été supprimée de l'instance cible.
  • Hardlinks : si les chemins source/cible sont sur le même FS (Btrfs/ZFS), SoulSync peut créer des hardlinks au lieu de re-télécharger, gain de place énorme.

📚 Ressources

🔗 Pages Liées