Files
wiki/Catalogue-Self-Hosted/apps/app-syncthing.md
T
2026-06-09 18:40:21 +02:00

4.5 KiB


title: Syncthing created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, file-transfer-and-sync, p2p, sync, go] confidence: high contested: false sources: [https://selfh.st/apps/?tag=file-transfer-and-sync]

Syncthing 🔄

Synchronisation de fichiers pair-à-pair continue, chiffrée et décentralisée.

Métadonnée Valeur
Site web https://syncthing.net
GitHub https://github.com/syncthing/syncthing
License MPL-2.0
Langage Go
Étoiles 71000+
Dernière MAJ 2025
Catégorie cat-file-transfer-and-sync

Description

Syncthing est une application open source de synchronisation continue de fichiers qui opère en mode pair-à-pair (P2P). Chaque appareil participant au cluster échange directement ses données avec les autres, sans serveur central ni fournisseur de cloud. Le protocole BEP (Block Exchange Protocol) ne transfère que les blocs modifiés d'un fichier, ce qui rend les synchronisations incrémentales très économes en bande passante.

Le chiffrement de transport utilise TLS 1.3 et chaque appareil s'identifie par un certificat X.509 auto-signé. Les échanges sont protégés par un mécanisme de « device approval » : un nouvel appareil ne peut rejoindre le cluster qu'après validation explicite. La découverte s'appuie sur des serveurs d'annuaire (relay & discovery) mais les données ne transitent jamais par eux.

Syncthing remplace efficacement Dropbox, OneDrive ou Google Drive pour les particuliers et les entreprises. Il fonctionne sur Windows, macOS, Linux, BSD, Android et iOS. Une interface web (http://localhost:8384) permet de tout administrer ; l'API REST est complète et bien documentée.

Installation

Docker Compose

services:
  syncthing:
    image: lscr.io/linuxserver/syncthing:latest
    container_name: syncthing
    hostname: syncthing
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
    volumes:
      - ./config:/config
      - /data/partage:/data
    ports:
      - "8384:8384"   # Web UI
      - "22000:22000/tcp" # Sync
      - "22000:22000/udp" # Discovery
      - "21027:21027/udp" # Receivesync
    restart: unless-stopped

Manuelle (Debian/Ubuntu)

curl -s https://syncthing.net/release-key.gpg | 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" > /etc/apt/sources.list.d/syncthing.list
apt update && apt install -y syncthing
systemctl enable --now syncthing@$USER

Configuration

  1. Accéder à http://localhost:8384 lors du premier lancement.
  2. Définir un identifiant GUI et un mot de passe (paramètres avancés).
  3. Ajouter un dossier partagé (Add Folder), choisir le chemin et le label.
  4. Récupérer son ID d'appareil (Actions > Show ID) et la faire scanner par un autre appareil.
  5. Sur le second appareil, ajouter l'ID distant, accepter l'invitation, puis sélectionner les dossiers à partager.
  6. Configurer les « Ignore Patterns » (ex : *.tmp, .git/, node_modules/).
  7. Activer Send & Receive ou Send Only selon le besoin.

Reverse proxy (Nginx)

location / {
  proxy_pass http://127.0.0.1:8384;
  proxy_set_header Host $host;
  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection "upgrade";
}

Alternatives

  • Open source : app-rclone (sync vers cloud), Nextcloud (client-serveur), Seafile, Resilio Sync (partiellement libre), MinIO (object storage).
  • Propriétaire : Dropbox, Google Drive, OneDrive, iCloud, Box.

Sécurité

  • Authentification par certificats X.509 + device approval manuel.
  • Chiffrement TLS 1.3 en transit, AES-256-GCM pour les blocs.
  • Pas de compte utilisateur, pas de cloud centralisé, zero-knowledge par construction.
  • Relay servers nécessaires si les pairs ne sont pas joignables (NAT, firewall) : à désactiver si confidentiel.
  • Recommandé d'exposer la GUI uniquement en localhost ou via reverse proxy authentifié (Authelia).

Ressources

Pages Liées