Abstract violet and amber illustration of devices connected directly to each other in a peer-to-peer file sync network, no central server

Syncthing

Syncthing

Syncthing garde un dossier identique entre deux ou plusieurs de vos appareils, sans passer par le cloud d’une entreprise. Pas de compte, pas de serveur central : votre ordinateur, votre téléphone et votre serveur à la maison se parlent directement via une connexion chiffrée, et un fichier déposé dans un dossier partagé apparaît sur les autres en quelques secondes. Dropbox et Google Drive vendent du stockage cloud avec la synchronisation en prime ; Syncthing ne fait que la synchronisation, en pair-à-pair, sur du matériel que vous possédez déjà.

Licence : Syncthing est distribué sous licence Mozilla Public License 2.0 (MPL-2.0), confirmée directement depuis le fichier LICENSE du dépôt GitHub syncthing/syncthing, pas supposée à partir d’un badge.

En bref : Site officiel syncthing.net · GitHub syncthing/syncthing, 85 000+ étoiles · Image Docker syncthing/syncthing sur Docker Hub, également mirorée sur ghcr.io/syncthing/syncthing · Interface web sur le port 8384, protocole de synchronisation sur le port 22000.

Comment fonctionne Syncthing : aucun serveur impliqué

La plupart des outils de fichiers auto-hébergés, Nextcloud compris, font tourner un serveur auquel chaque appareil se connecte. Syncthing s’en passe. Chaque appareil génère son propre certificat TLS au premier démarrage et obtient un Device ID, l’empreinte SHA-256 de ce certificat. Ajoutez l’ID d’un autre appareil des deux côtés, et les deux instances se connectent directement, se vérifient mutuellement via cette empreinte, et synchronisent en TLS 1.2/1.3 : aucun mot de passe à intercepter, puisqu’il n’y a pas de compte à attaquer.

La synchronisation est incrémentale : seuls les blocs modifiés transitent, pas le fichier entier. La découverte locale trouve les appareils sur votre réseau sans internet ; la découverte globale fait pareil en ligne, chiffrée. Sans connexion directe possible, des serveurs relais communautaires prennent le relais, toujours chiffrés, juste plus lents. Les trois sont documentés sur la page des principes de sécurité de Syncthing.

Installer Syncthing avec Docker

L’image officielle syncthing/syncthing est construite depuis le Dockerfile du projet, disponible sur Docker Hub et mirorée sur ghcr.io/syncthing/syncthing. Un seul conteneur suffit : pas de base de données, rien d’autre à surveiller.

services:
  syncthing:
    image: syncthing/syncthing
    container_name: syncthing
    hostname: syncthing
    environment:
      - PUID=1000
      - PGID=1000
    volumes:
      - ./syncthing-config:/var/syncthing
    network_mode: host
    restart: unless-stopped

Utilisez le mode réseau host, pas le bridge par défaut. Le bridge de Docker cache le conteneur derrière une adresse interne 172.17.0.0/16, casse la découverte LAN et bascule les transferts vers un relais plus lent. La documentation Docker officielle de Syncthing qualifie le mode host de « fortement recommandé » pour cette raison. Sans lui, publiez au minimum 8384/tcp pour l’interface et 22000/tcp plus 22000/udp pour la synchronisation.

PUID et PGID définissent l’utilisateur et le groupe d’écriture du conteneur (1000 correspond au premier utilisateur standard sur la plupart des distributions Linux). Ajustez-les, puis démarrez la stack :

docker compose up -d

Configurer Syncthing : jumeler vos deux premiers appareils

  1. Ouvrez l’interface web sur chaque appareil : http://ip-du-serveur:8384 pour l’hôte Docker, http://localhost:8384 si Syncthing tourne nativement sur la seconde machine.
  2. Sur chaque appareil, ouvrez Actions puis Afficher l’ID pour récupérer son Device ID.
  3. Sur l’appareil A, cliquez sur Ajouter un appareil distant et collez l’ID de l’appareil B.
  4. Répétez l’opération en sens inverse sur l’appareil B. Les connexions sont toujours mutuelles.
  5. Une fois connectés, généralement en moins d’une minute, partagez un dossier depuis un des deux côtés ; l’autre appareil reçoit une popup pour l’accepter, et la synchronisation démarre.

L’interface du conteneur écoute sur 0.0.0.0:8384 par défaut, accessible depuis tout le réseau, plus exposée que le binaire natif limité à localhost. Définissez un identifiant et un mot de passe sous Actions puis Paramètres, sans rediriger le port 8384 depuis votre routeur : passez plutôt par Tailscale ou un reverse proxy.

Syncthing vs Nextcloud

Syncthing et Nextcloud sont sans cesse comparés, alors qu’ils répondent à des besoins différents la plupart du temps. Nextcloud est client-serveur, une instance unique à laquelle chaque appareil se connecte pour les fichiers, le calendrier, les contacts et le chat. Syncthing se contente de garder des dossiers identiques entre vos appareils, sans serveur à parcourir ni lien public à partager. Là où les deux se recoupent, Syncthing reste plus rapide et plus léger, sans application web ni base de données derrière sa fonction de synchronisation.

SyncthingNextcloud
ArchitecturePair-à-pair, aucun serveur centralClient-serveur, une instance à maintenir
Excelle pourGarder des dossiers identiques entre vos propres appareilsFichiers, calendrier, contacts, chat et bureautique réunis
Partage de lien publicNon intégré, pas de serveur pour en héberger unOui, avec mots de passe et dates d’expiration
Empreinte ressourcesUn seul binaire Go léger, sans base de donnéesPHP, une base de données et Redis au-delà d’une install jouet
Accès mobileApplications Android et iOS communautaires (l’appli Android d’origine a été abandonnée)Applications iOS et Android officielles avec navigation à distance

Syncthing : avantages et inconvénients

  • Pas de compte ni de serveur central ; personne d’autre que vous ne détient une copie de vos fichiers
  • La synchronisation incrémentale au niveau des blocs rend le rattrapage après une coupure très rapide
  • Tourne sans problème sur un Raspberry Pi ou la machine la plus modeste d’un homelab
  • Le trafic est chiffré en TLS d’un appareil à l’autre, même à travers un relais
  • Pas de partage de lien public ni de navigateur de fichiers web en dehors d’un appareil que vous contrôlez
  • L’application Android officielle d’origine a été abandonnée ; le mobile repose désormais sur des applications communautaires
  • Le jumelage par Device ID est un modèle mental différent de la connexion à un site web
  • Rien à parcourir depuis l’ordinateur de quelqu’un d’autre sans y installer Syncthing aussi

Matériel : un seul binaire Go sans dépendances, à l’aise sur un Raspberry Pi ou sur ce qui tourne encore au fond d’un placard. Le vrai goulot d’étranglement, c’est le disque et la bande passante lors de la première synchro d’une grosse bibliothèque, pas le CPU. Notre guide de démarrage homelab pour débutants détaille les compromis entre un Pi, un mini PC et une vieille machine recyclée.

Si taper des commandes docker compose ne vous tente pas, Portainer donne au conteneur un bouton de redémarrage cliquable et un visualiseur de logs.

FAQ

Syncthing est-il gratuit ?

Oui, entièrement. Open source sous licence Mozilla Public License 2.0, aucun palier payant, aucune fonctionnalité verrouillée nulle part dans le projet.

Syncthing est-il sûr à utiliser ?

La connexion est solide : TLS 1.2/1.3 entre les appareils, authentification mutuelle par empreinte de certificat, aucune base de comptes à percer. Le point à surveiller est l’interface web, exposée sur toutes les interfaces par défaut dans l’image Docker : définissez un mot de passe immédiatement.

Faut-il ouvrir des ports sur mon routeur ?

Seulement pour que deux appareils sur des réseaux différents se connectent directement à pleine vitesse : redirigez 22000/TCP et 22000/UDP. Sans ça, Syncthing bascule automatiquement vers des serveurs relais, plus lent mais fonctionnel.

Syncthing peut-il sauvegarder automatiquement les photos de mon téléphone ?

Oui : une application Android communautaire peut surveiller votre dossier photo et synchroniser les nouveaux clichés au fur et à mesure, mais sans reconnaissance faciale ni recherche par contenu. Pour ça, Immich est conçu autour de la recherche et de la sauvegarde de photos assistées par IA.

Quelle est la vraie différence entre Syncthing et Nextcloud ?

Syncthing garde des dossiers identiques entre vos propres appareils, et s’arrête là. Nextcloud est une plateforme complète : fichiers, calendrier, contacts et chat, accessible depuis un serveur central unique, de n’importe où. Beaucoup de homelabs font tourner les deux : Syncthing pour la synchronisation rapide entre appareils, Nextcloud pour tout ce qui a besoin d’une vraie interface web ou d’un partage avec d’autres personnes.

Syncthing mérite sa place dans un homelab en faisant une seule chose bien, sans s’imposer ailleurs. Notre guide de démarrage homelab pour débutants détaille le matériel nécessaire ; pour une suite collaborative plus complète, Nextcloud est l’étape suivante naturelle.