Initial vault setup
This commit is contained in:
@@ -0,0 +1,107 @@
|
||||
---
|
||||
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é)
|
||||
```yaml
|
||||
# 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
|
||||
- Repository : https://github.com/SoulSync/SoulSync
|
||||
- Wiki *arr : https://wiki.servarr.com
|
||||
|
||||
## 🔗 Pages Liées
|
||||
- [[cat-arr]]
|
||||
- [[app-sonarr]]
|
||||
- [[app-radarr]]
|
||||
- [[app-prowlarr]]
|
||||
- [[app-profilarr]]
|
||||
- [[app-notifiarr]]
|
||||
- [[app-recyclarr]]
|
||||
- [[app-traefik]]
|
||||
- [[app-authentik]]
|
||||
- [[securisation-home-lab]]
|
||||
- [[recettes-docker-compose]]
|
||||
Reference in New Issue
Block a user