Synchroniser ses fichiers avec Syncthing

sync selfhosted

Récemment j’ai voulu trouver une solution pour synchroniser mes documents vers plusieurs PC. Par exemple, lorsque j’ajoute une musique sur mon ordinateur personnel, je veux qu’elle s’ajoute automatiquement sur mon smartphone et mon ordinateur professionnel.

Dropbox fait ça très bien mais:

J’ai donc cherché une alternative et je suis tombé sur Syncthing.

Logo de Syncthing

Syncthing est un projet Open-source (le code est disponible sur Github) écrit principalement en Go. Son principal avantage est qu’il est Décentralisé. Chaque nœud possède sa propre copie du dossier partagé. Si un disque dur casse, tous les fichiers sont présents sur les autres nœuds.

Syncthing utilise donc la méthode du Peer-to-peer. Toutes vos données ne résident pas sur d’autres serveur. Toutes les communications sont chiffrées de bout en bout.

Cerise sur le gateau, Syncthing est Multi-plateforme. Il est disponible pour Windows, Mac, Linux et même Android.

Installation

Ordinateur local

Syncthing est disponible dans les packets Debian. Du coup on l’installer facilement avec apt

$ sudo apt install syncthing

Et pour le démarrer il suffit d’utiliser la commande syncthing.

$ syncthing

Il suffit ensuite de se connecter à l’interface web http://localhost:8384.

Interface principale de Syncthing

Raspberry PI

Mon Raspberry PI tourne sous Raspbian donc l’installation se fait très de la même manière que mon desktop qui tourne sous Xubuntu.

Je me connecte donc à mon Raspberry en SSH et j’installe et lance Syncthing.

$ ssh ftp
$ sudo apt install syncthing
$ syncthing &

le & permet de lancer Syncthing en tâche de fond et donc de fermer la connexion SSH sans mettre fin au processus

Ici, l’url de l’interface de l’administration est http://127.0.0.1:41689. Malheureusement ma Box SFR bloque la connexion, je crée donc un tunnel SSH afin d’avoir le port 41689 sur mon desktop.

$ ssh ftp -L 41689:127.0.0.1:41689 -N

Configuration

Maintenant que nous avons installé Syncthing sur nos deux poste, il suffit de les configurer ensemble. Pour cela, il faut accéder aux interfaces de chaque nœuds:

Le plus simple est d’ouvrir deux onglets:

Ajout du dossier

Je vais commencer par configurer le partage de mon dossier Documents de mon Raspberry. Pour cela, je commence par me connecter sur l’interface http://localhost:41689 .

Rien de plus simple, on clique sur le bouton add folder et on spécifier le chemin du dossier à partager.

Interface principale de Syncthing

Couplage des nœuds

Pour commencer il faut coupler nos deux nœuds. Pour cela, il faut se rendre sur un des deux nœud et de cliquer sur add remote et d’ajouter l’identifiant du deuxième nœud que l’on trouve sur l’interface.

Interface principale de Syncthing

Quelques secondes plus tard, sur le nœud remote, un pop-up apparaît

Pop-up du nouveau nœud à accepter

Et un autre popup nous signale qu’il est possible de synchroniser un dossier en spécifiant l’URL du dossier à créer. Quelques secondes plus tard, la synchronisation commence.

la synchronisation commence

Conclusion

Syncthing permet de se passer très simplement de Dropbox. La configuration est très simple mais son fonctionnement n’en reste pas moins très puissant.

Pour mon usage personnel je synchronise sans problèmes toutes mes musiques (+ 40 GO) et mes documents (> 1 GO) vers 4 nœuds (2 PC, 1 RPI & mon smartphone)!