Initial vault setup

This commit is contained in:
2026-06-09 18:40:21 +02:00
commit bda02d587f
3692 changed files with 402457 additions and 0 deletions
+103
View File
@@ -0,0 +1,103 @@
---
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
```yaml
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)
```bash
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)
```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
- Documentation : https://docs.syncthing.net
- Forum communautaire : https://forum.syncthing.net
- Calculateur de bande passante : https://docs.syncthing.net/users/syncing.html
- Code source : https://github.com/syncthing/syncthing
## Pages Liées
- [[cat-file-transfer-and-sync]] — Catégorie parente
- [[app-rclone]] — Sync vers providers cloud
- [[recettes-docker-compose]] — Modèles de stacks