Comment installer et utiliser Syncthing sur Ubuntu 20.04

Syncthing est un programme gratuit et open source pour synchroniser des fichiers entre des appareils à partir d’un réseau local ou des appareils distants via Internet. Il utilise une architecture peer-to-peer et la synchronisation continue des fichiers échange des données directement entre les appareils de manière entièrement automatisée.

Synchroniser peut être utilisé pour garder les fichiers et les répertoires synchronisés en temps réel. Toutes les transmissions de données entre plusieurs appareils sont sécurisées et cryptées avec TLS.

Les fonctionnalités clés de la synchronisation sont :

  • Prise en charge de l’authentification LDAP.
  • prise en charge de la synchronisation unidirectionnelle.
  • Vitesse de synchronisation rapide.
  • Utiliser à la fois CLI et GUI
  • Multiplateforme disponible sur : Linux, Android, Unix, Solaris, Windows et Mac OS X.

Dans ce tutoriel, nous apprenons à installer Syncthing au Ubuntu 20.04.

Conditions préalables

  • Deux serveurs avec Ubuntu 20.04 installés.
  • Utilisateur avec sudo et accès root.
  • Deux adresses IP publiques configurées.

Installer Syncthing sur Ubuntu

Syncthing est disponible sur le dépôt officiel. Suivez les étapes d’installation pour ajouter le référentiel Syncthing et installez-le sur Ubuntu.

Tout d’abord, mettez à jour les packages système avec la commande suivante :

apt update

Installez toutes les dépendances avec la commande suivante :

apt-get install gnupg2 curl apt-transport-https

Ajoutez et téléchargez la clé de version :

curl -s https://syncthing.net/release-key.txt | apt-key add -

Ajoutez le référentiel Syncthing à APT avec la commande suivante :

echo "deb https://apt.syncthing.net/ syncthing release" > /etc/apt/sources.list.d/syncthing.list

Une fois cela fait, mettez à jour les packages système une fois de plus, et installer Syncthing paquet:

apt-get update
apt-get install syncthing

Vérifiez l’installation en vérifiant la version de Syncthing :

syncthing --version

Sortir:

syncthing v1.18.1 "Fermium Flea" (go1.16.6 linux-amd64) [email protected] 2021-07-30 12:41:57 UTC [noupgrade]

Si vous obtenez une sortie similaire, Syncthing est installé avec succès.

REMARQUE: Vous devrez répéter ces mêmes étapes d’installation sur l’autre serveur.

Créer un fichier d’unité Systemd

L’étape suivante consiste à créer un fichier d’unité systemd, pour gérer le service Syncthing.

Créez un fichier dans /etc/systemd/system/ avec la commande suivante.

nano /etc/systemd/system/[email protected]

Ajoutez les lignes suivantes au fichier de configuration :

[Unit]
Description=Syncthing - Open Source Continuous File Synchronization for %I
Documentation=man:syncthing(1)
After=network.target

[Service]
User=%i
ExecStart=/usr/bin/syncthing -no-browser -gui-address="0.0.0.0:8384" -no-restart -logflags=0 Restart=on-failure
SuccessExitStatus=3 4
RestartForceExitStatus=3 4

[Install]
WantedBy=multi-user.target

Dans [Service] partie, en ligne -gui-address="0.0.0.0:8384" ajoutez votre adresse IP publique du premier serveur et laissez le même port 8384.

Save configuration, et close le fichier.

Rechargez maintenant le démon systemd pour appliquer la configuration :

systemctl daemon-reload

Une fois le démon rechargé, démarrez le service de synchronisation qui pointant vers votre utilisateur avec la commande suivante.

systemctl start syncthing@yourUser

Vérifiez l’état du service Syncthing :

systemctl status syncthing@yourUser

Le service doit être actif (en cours d’exécution).

Le service de synchronisation écoute sur le port 8384, vous pouvez vérifier à l’aide de la commande ss.

ss -antpl | grep 8384

Sortir:

LISTEN 0 4096 45.79.208.51:8384 0.0.0.0:* users:(("syncthing",pid=13837,fd=20))

REMARQUE: Répétez ces mêmes étapes pour l’autre serveur.

Configuration de l’interface Web de Syncthing

Ouvrez votre navigateur Web et accédez à l’interface Web Syncthing avec les URL.

https://first-server-ip:8384
https://second-server-ip:8384

L’interface Web de Syncthing utilise le port 8384.

Après la connexion, vous devriez recevoir les messages suivants.

Ensuite, allez dans Actions > Paramètres > GUI pour configurer un nom d’utilisateur, un mot de passe et activez l’option « Utiliser HTTPS pour GUI.

Configuration de l'interface graphique de synchronisation

Clique sur le Save bouton, et vous serez redirigé vers la page de connexion Syncthing qui vous demandera de mettre de nouvelles informations d’identification pour la connexion.

Synchroniser les identifiants de connexion

Après vous être connecté comme vous pouvez le voir, la connexion est maintenant sécurisée avec HTTPS.

REMARQUE: Répétez et configurez ce processus également sur le deuxième serveur.

Connecter des appareils

Pour la synchronisation des répertoires, nous devrons fusionner et connecter les ID d’appareil des deux serveurs, ajouter l’ID d’appareil de chaque serveur à un autre serveur pour synchroniser les fichiers.

Pour ce faire, accédez à Actions > Afficher l’ID sur les deux serveurs. Vous verrez l’identification de l’appareil et le code QR suivants.

ID serveur1ID serveur1
ID serveur2

Maintenant, allez sur le premier serveur Syncthing. En bas où se trouve la section des appareils distants, cliquez sur le bouton +Ajouter un appareil distant.

add-first-device.png

Fournissez l’ID de périphérique de votre deuxième serveur et cliquez sur le Save bouton. Facultatif, peut également ajouter le nom de l’appareil, pour une vue plus claire.

Sur le deuxième serveur, répétez la même étape. Accédez à Ajouter un périphérique distant.

ajouter un deuxième appareil

Et ajoutez l’ID de périphérique du premier serveur et cliquez sur le Save bouton.

liste des appareils connectés

Will voit des deux côtés que les appareils sont maintenant connectés.

Synchroniser les répertoires

Après un appairage réussi des appareils distants, recherchez la section Dossiers et cliquez sur le bouton +Ajouter un dossier. Vous devriez voir la nouvelle fenêtre suivante.

ajouter le dossier

Fournissez votre nom de dossier de sauvegarde dans l’étiquette du dossier dans la section générale. Ensuite, allez dans la section Carte de partage et vous verrez l’écran suivant.

Cochez votre appareil pour partager ce dossier. Dans mon cas, le nom est serveur2, et cliquez sur le Save bouton.

Allez maintenant sur le deuxième serveur et cliquez sur le bouton Rescan All. Vous devriez voir l’écran suivant et un nouveau message contextuel pour ajouter ce nouveau dossier.

Cliquez sur le bouton Ajouter pour ajouter le dossier de sauvegarde partagé sur le premier serveur. Vous devriez maintenant voir l’écran suivant.

Répertoires synchronisés

Peut voir maintenant que la sauvegarde des dossiers est synchronisée et à jour.

Chaque fois que vous créez ou modifiez des fichiers sur le dossier de sauvegarde sur le premier serveur, ils seront automatiquement synchronisés sur le deuxième serveur, tous les nouveaux répertoires et fichiers de ce dossier de sauvegarde seront mis en miroir sur l’autre serveur.

Configurer les dossiers d’envoi uniquement et de réception uniquement

Une autre fonctionnalité intéressante de Syncthing est que vous pouvez configurer des serveurs jumelés pour envoyer et recevoir, ils peuvent également être spécifiés pour envoyer et recevoir uniquement.

Accédez à la section Dossiers > Choisissez le dossier de sauvegarde souhaité et cliquez sur le bouton Modifier, puis accédez à la carte de la section Avancé. Vous verrez l’image suivante.

Et choisissez le type de dossier pour envoyer uniquement/recevoir uniquement et cliquez sur le Save bouton.

Configurer Ajuster les intervalles d’analyse

Si vous souhaitez libérer le processeur et que vous n’avez pas besoin de surveiller constamment les modifications de synchronisation, vous pouvez désactiver la surveillance des modifications et configurer manuellement le nombre de minutes et d’heures pendant lesquels vous souhaitez synchroniser les modifications.

intervalles d'analyse

Vérification du service systemctl

Accédez au périphérique souhaité sur server1 ou server2 et vérifiez l’état du service systemctl pour voir comment cela fonctionne sur le backend avec la commande suivante.

sudo systemctl status syncthing@yourUser

Sortir.

[email protected] - Syncthing - Open Source Continuous File Synchronization for linoxide
Loaded: loaded (/etc/systemd/system/[email protected]; disabled; vendor preset: enabled)
Active: active (running) since Wed 2021-08-25 13:46:53 UTC; 1h 4min ago
Docs: man:syncthing(1)
Main PID: 15543 (syncthing)
Tasks: 13 (limit: 1071)
Memory: 29.2M
CGroup: /system.slice/system-syncthing.slice/[email protected]
├─15543 /usr/bin/syncthing -no-browser -gui-address=45.79.208.51:8384 -no-restart -logflags=0
└─15548 /usr/bin/syncthing -no-browser -gui-address=45.79.208.51:8384 -no-restart -logflags=0
Aug 25 13:52:58 li1307-51 syncthing[15543]: [6TZM3] INFO: Device BPENPLJ-L65BS5D-5HN7UL5-RNI3DQR-YZOR2LB-YFW7BKF-6LMWFXV-A4E3RQY client is "syncthing v1.18.1>
Aug 25 13:52:58 li1307-51 syncthing[15543]: [6TZM3] INFO: Connection to BPENPLJ-L65BS5D-5HN7UL5-RNI3DQR-YZOR2LB-YFW7BKF-6LMWFXV-A4E3RQY at [2600:3c02::f03c:9>
Aug 25 13:53:12 li1307-51 syncthing[15543]: [6TZM3] INFO: Established secure connection to BPENPLJ-L65BS5D-5HN7UL5-RNI3DQR-YZOR2LB-YFW7BKF-6LMWFXV-A4E3RQY at>
Aug 25 13:53:12 li1307-51 syncthing[15543]: [6TZM3] INFO: Device BPENPLJ-L65BS5D-5HN7UL5-RNI3DQR-YZOR2LB-YFW7BKF-6LMWFXV-A4E3RQY client is "syncthing v1.18.1>
Aug 25 14:13:42 li1307-51 syncthing[15543]: [6TZM3] INFO: Adding folder "Backup" (svkz5-mdnbo)
Aug 25 14:13:42 li1307-51 syncthing[15543]: [6TZM3] INFO: No stored folder metadata for "svkz5-mdnbo"; recalculating
Aug 25 14:13:42 li1307-51 syncthing[15543]: [6TZM3] INFO: Ready to synchronize "Backup" (svkz5-mdnbo) (sendreceive)
Aug 25 14:13:42 li1307-51 syncthing[15543]: [6TZM3] INFO: Completed initial scan of sendreceive folder "Backup" (svkz5-mdnbo)

Conclusion

Dans ce tutoriel, nous avons appris à installer Syncthing pour synchroniser les répertoires sur Ubuntu 20.04. Vous pouvez utiliser et synchroniser plus de deux appareils et être à jour avec les répertoires sur toutes les machines.

Veuillez partager votre expérience d’utilisation de Syncthing dans la section des commentaires.