À quoi ça sert ?
Syncthing synchronise des dossiers entre vos ordinateurs, téléphones et serveur, directement d'appareil à appareil. Pas de compte, pas de cloud : c'est simple, léger et très fiable.
Pour qui ?
Ceux qui veulent juste garder des dossiers identiques partout, sans usine à gaz.
Bon à savoir
Les ports 22000 (TCP et UDP) doivent être ouverts dans le pare-feu pour synchroniser.
Après l'installation
- Première chose à faire : dans Actions → Paramètres → Interface graphique, définissez un identifiant et un mot de passe.
- Ajoutez ensuite vos appareils avec leur identifiant Syncthing.
Le docker-compose
Exemple derrière Traefik, avec une explication sur chaque ligne. Pour l'adapter à votre cas (Nginx Proxy Manager, port local…), utilisez le générateur.
# docker-compose.yml : Syncthing
# Ce fichier décrit les « conteneurs » à lancer : chaque conteneur est une petite
# boîte isolée qui contient un programme. Lancez-le avec : docker compose up -d
services:
syncthing:
# Le programme à télécharger (l'« image »), avec sa version
image: syncthing/syncthing:latest
container_name: syncthing
# Redémarre tout seul après une panne ou un redémarrage du serveur
restart: unless-stopped
hostname: syncthing-serveur
# Réglages de l'application. Les valeurs ${...} viennent du fichier .env
environment:
PUID: "1000"
PGID: "1000"
TZ: Europe/Paris
# Dossiers du serveur partagés avec le conteneur (dossier_serveur:dossier_conteneur).
# Vos données sont stockées ici : ce sont ces dossiers qu'il faut sauvegarder.
volumes:
- ./data:/var/syncthing
# Ports ouverts sur le serveur (port_serveur:port_conteneur)
ports:
- "22000:22000/tcp"
- "22000:22000/udp"
- "21027:21027/udp"
# Réseau partagé avec le reverse proxy pour qu'il puisse joindre l'application
networks:
- traefik
# Indique à Traefik de publier l'application sur https://sync.mondomaine.fr avec un certificat HTTPS
labels:
- traefik.enable=true
- traefik.http.routers.syncthing.rule=Host(`sync.mondomaine.fr`)
- traefik.http.routers.syncthing.entrypoints=websecure
- traefik.http.routers.syncthing.tls.certresolver=letsencrypt
- traefik.http.services.syncthing.loadbalancer.server.port=8384
# Le réseau du reverse proxy existe déjà : on s'y raccroche
networks:
traefik:
external: true