
Quand on gère plusieurs serveurs – que ce soit pour du web, du traitement de données, ou de simples sauvegardes – il devient vite essentiel de synchroniser certains dossiers automatiquement.
Fichiers de conf, assets, dépôts Git, logs, sauvegardes, certificats Let’s Encrypt… les cas sont nombreux.
Et plutôt que d’utiliser rsync
en cron ou de déployer un outil de supervision lourd, il existe une solution légère, sécurisée et efficace : Syncthing.
Qu’est-ce que Syncthing ?
Syncthing est un logiciel libre qui permet de synchroniser des dossiers entre plusieurs machines.
Contrairement à rsync, Syncthing fonctionne en continu : toute modification dans un dossier est propagée en temps réel aux autres nœuds.
Et contrairement à Dropbox ou Nextcloud, tout est décentralisé : pas de serveur central, pas de cloud, pas de base de données.
Parmi ses points forts :
- Fonctionne en LAN ou via Internet
- Connexion directe chiffrée (TLS)
- Reprise automatique après coupure
- Interface web et configuration en ligne de commande
- Faible consommation de ressources
1. Cas d’usage typique
- Deux serveurs dans le même datacenter → sync de
/var/www/assets
- Un serveur de production et un backup à domicile → sync de
/data/backups
- Plusieurs Raspberry Pi en edge computing → sync d’un dossier partagé de configuration
2. Installation de Syncthing
Debian / Ubuntu
sudo apt install syncthing
Ou, pour la dernière version officielle :
curl -s https://syncthing.net/release-key.txt | sudo gpg --dearmor -o /usr/share/keyrings/syncthing-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list
sudo apt update && sudo apt install syncthing
RedHat / CentOS / Fedora
sudo dnf install syncthing
Démarrer le service automatiquement
systemctl --user enable syncthing
systemctl --user start syncthing
Pour l’exécuter en tant que service système (ex : root) :
sudo systemctl enable syncthing@root
sudo systemctl start syncthing@root
3. Interface Web (ou non)
Par défaut, Syncthing écoute sur http://localhost:8384
.
Vous pouvez :
-
soit faire un port-forward SSH pour y accéder à distance :
ssh -L 8384:localhost:8384 user@votre-serveur
- soit modifier le fichier
config.xml
pour ouvrir l’accès à l’IP publique (⚠️ à sécuriser).
Mais vous pouvez aussi tout configurer sans interface graphique, grâce à l’API REST ou en copiant manuellement les configurations.
4. Ajouter deux nœuds et un dossier partagé
Sur chaque serveur, vous devrez :
- noter l’ID Syncthing (affiché au premier démarrage ou visible dans l’interface)
- ajouter l’autre serveur comme “dispositif distant”
- partager un dossier existant (ex :
/data/replicat
)
Le plus simple est de le faire depuis l’interface web, mais vous pouvez aussi copier les fichiers
config.xml
entre les serveurs pour automatiser.
Exemple de fonctionnement :
- Serveur A :
/data/projets
- Serveur B :
/mnt/backup/projets
Lorsque l’un est modifié, l’autre se met à jour automatiquement.
5. Fonctionne en réseau local… ou distant
Syncthing utilise plusieurs techniques :
- mDNS + multicast pour se découvrir automatiquement en LAN
- Relais (STUN/relay.syncthing.net) si les machines sont derrière NAT
- Connexion directe si les ports sont ouverts (22000/TCP par défaut)
Pour forcer une connexion directe :
- Ouvrir le port
22000
entre les serveurs (ou sur leur réseau privé) - Ajouter manuellement l’adresse IP du serveur distant dans la configuration Syncthing
6. Bonnes pratiques de configuration
- Créez un utilisateur
syncthing
dédié (non root) pour des raisons de sécurité. - Utilisez un dossier dédié pour la synchronisation (
/srv/sync
) et limitez les permissions. - Activez le versionnage des fichiers si vous souhaitez conserver un historique.
-
Surveillez le fonctionnement avec :
systemctl status syncthing@user tail -f ~/.config/syncthing/syncthing.log
7. Fonctionne sur…
- VPS classiques (OVH, Scaleway, D4.FR, etc.)
- Serveurs dédiés
- Serveurs à la maison ou en edge
- Raspberry Pi
- Même sur Android (via l’app Syncthing officielle)
8. Quelques alternatives ?
Outil | Centralisé | Temps réel | Installation facile | Notes |
---|---|---|---|---|
Syncthing | ❌ Non | ✅ Oui | ✅ Oui | Décentralisé, chiffré |
Rsync (cron) | ❌ Non | ❌ Non | ✅ Oui | Simple mais pas réactif |
Nextcloud | ✅ Oui | ✅ Oui | ⚠️ Plus complexe | Avec interface web lourde |
Resilio Sync | ❌ Non | ✅ Oui | ✅ Oui | Non libre |
Seafile | ✅ Oui | ✅ Oui | ⚠️ Plus lourd | Nécessite un serveur web |
En résumé
Syncthing est une solution fiable, légère et sécurisée pour synchroniser des répertoires entre plusieurs serveurs, qu’ils soient dans le même réseau ou répartis à travers le monde.
✅ En quelques minutes, vous pouvez :
- relier deux serveurs,
- partager un ou plusieurs dossiers,
- et les synchroniser en temps réel, sans vous soucier des interruptions ou des scripts complexes.
C’est un excellent choix pour garder des environnements cohérents, sauvegarder en continu, ou automatiser des flux de fichiers.