Syncthing: sincronizzare i file tra dispositivi senza il cloud di terzi
Al mattino modificate un documento sul portatile e lo spegnete. La sera aprite il computer di casa e la versione aggiornata è già presente. Il file non è passato da Google Drive o Dropbox: è stato ricevuto dal vostro nodo Syncthing.
Syncthing sincronizza direttamente le cartelle selezionate tra dispositivi attendibili, mentre l’utente mantiene il controllo sulla posizione in cui vengono archiviati i dati. Un server centrale non è obbligatorio.
Tuttavia, se due computer sono raramente online nello stesso momento, lo scambio delle modifiche diventa difficile. Un VPS sempre attivo risolve il problema: riceve i file da un dispositivo e li trasmette in seguito a un altro.
È importante comprenderne lo scopo. Syncthing non è un’unità di rete né un file manager nel browser, ma uno strumento per replicare automaticamente le cartelle selezionate.
Syncthing in cinque passaggi
La configurazione minima è la seguente:
- Installare Syncthing sui computer necessari.
- Avviare un’altra istanza di Syncthing su un VPS.
- Aprire il pannello del server tramite un tunnel SSH.
- Scambiare gli identificativi dei dispositivi e confermare la connessione.
- Aggiungere una cartella condivisa, scegliere la modalità di sincronizzazione e attivare la cronologia delle versioni.
Che cos’è Syncthing e come funziona
Syncthing è un programma gratuito e open source per la sincronizzazione continua dei file. Funziona su Windows, macOS, Linux e altri sistemi operativi desktop e server.
Ogni installazione riceve un Device ID univoco, cioè un identificativo crittografico. Affinché due nodi inizino a scambiarsi dati, devono essere aggiunti reciprocamente e occorre autorizzare esplicitamente l’accesso a una cartella specifica. Non esiste un unico account Syncthing nel quale vengono conservati dispositivi e file.
Quando un file cambia, Syncthing lo divide in blocchi, confronta i checksum e trasferisce solo le parti mancanti. Una piccola modifica all’interno di un file di grandi dimensioni, quindi, non richiede sempre di inviare nuovamente l’intero file.
I servizi di individuazione aiutano i dispositivi a trovarsi, ma non archiviano i file. Se non è possibile stabilire una connessione diretta, il traffico crittografato può passare attraverso un relay più lento.
Cosa cambia con un VPS
Senza un server, il portatile può sincronizzarsi direttamente con il computer di casa, ma entrambi i dispositivi devono essere online nello stesso momento, anche solo per poco. Un VPS trasforma la configurazione in un punto di scambio sempre disponibile.
Per esempio, al mattino il portatile invia un progetto al server e viene spento. La sera, il computer di casa riceve la nuova versione dal VPS.
Syncthing è adatto a documenti, note di Obsidian, codice sorgente, fotografie e cartelle di famiglia. È preferibile escludere cache, node_modules e risultati di compilazione tramite .stignore. Non è consigliabile sincronizzare database in esecuzione e immagini di macchine virtuali.
Un VPS crea inoltre una copia dei dati fuori casa. Tuttavia, questa copia diventa un vero backup solo se abbinata al versionamento e a un archivio di backup separato: anche una cancellazione accidentale può propagarsi a tutti i dispositivi.
Syncthing o Nextcloud: quale scegliere
I due strumenti vengono spesso confrontati, anche se risolvono problemi diversi.
| Criterio | Syncthing | Nextcloud |
|---|---|---|
| Modello | Le cartelle vengono copiate tra i dispositivi | I file risiedono su un server centrale |
| Server necessario | No, il VPS è facoltativo | Sì |
| Accesso ai file dal browser | Non offre una vera unità web | Sì |
| Link pubblici | No | Sì |
| Modifica collaborativa | Non prevista | Può essere aggiunta |
| Scenario ideale | Mantenere le stesse cartelle sui propri dispositivi | Creare un cloud personale o per un team |
Syncthing è indicato per una sincronizzazione discreta in background. Nextcloud è più adatto quando servono accesso web, link di condivisione, account utente, calendario e strumenti di collaborazione.
Come installare Syncthing su un VPS con Docker Compose
I passaggi seguenti sono destinati a un VPS con Ubuntu 24.04. Il pannello resterà associato all’indirizzo locale del server e sarà accessibile tramite un tunnel SSH.
1. Installare Docker
sudo apt update
sudo apt install -y docker.io docker-compose-v2
sudo systemctl enable --now docker2. Creare la directory e il file Compose
sudo mkdir -p /opt/syncthing/data
sudo chown -R 1000:1000 /opt/syncthing/data
cd /opt/syncthing
sudo nano compose.yamlIncollate il contenuto seguente:
services:
syncthing:
image: syncthing/syncthing:latest
container_name: syncthing
hostname: syncthing-vps
environment:
- PUID=1000
- PGID=1000
- STGUIADDRESS=
volumes:
- ./data:/var/syncthing
network_mode: host
restart: unless-stoppedViene utilizzata l’immagine ufficiale di Syncthing. La modalità di rete host facilita le connessioni dirette, mentre il valore vuoto di STGUIADDRESS mantiene il pannello su 127.0.0.1:8384.
Avviate il container:
sudo docker compose up -d
sudo docker compose ps3. Consentire le connessioni
Per prima cosa, consentite SSH in modo da non perdere l’accesso al server:
sudo ufw allow OpenSSH
sudo ufw allow 22000/tcp
sudo ufw allow 22000/udp
sudo ufw enable22000/TCP viene utilizzato dal protocollo principale di sincronizzazione, mentre 22000/UDP è usato da QUIC. Non è necessario aprire la porta 8384 del pannello. Anche la porta di individuazione locale 21027/UDP di solito non è necessaria su un VPS pubblico.
4. Aprire il pannello tramite SSH
Sul vostro computer, eseguite:
ssh -L 9999:127.0.0.1:8384 root@SERVER_IPSenza chiudere il terminale, aprite:
http://127.0.0.1:9999Nel pannello, aprite Actions → Settings → GUI e impostate un nome utente e una password. Se in seguito volete accedere al pannello tramite un dominio, posizionatelo dietro un reverse proxy HTTPS e mantenete attiva l’autenticazione.
5. Aggiungere i dispositivi e la cartella
Installate Syncthing sul computer, quindi procedete in questo modo:
- Sul computer e sul VPS, selezionate Actions → Show ID.
- Aggiungete il Device ID di ciascun nodo sull’altro dispositivo.
- Sul computer, fate clic su Add Folder, scegliete una directory e autorizzate l’accesso al server.
- Sul VPS, accettate la cartella e impostate un percorso, per esempio
/var/syncthing/Files.
Sui computer, mantenete Send & Receive per la sincronizzazione bidirezionale. Sul VPS è spesso comodo scegliere Receive Only: il server continua a ricevere e trasmettere le modifiche tra i nodi, ma eventuali modifiche locali accidentali effettuate direttamente sul VPS non si propagano in tutta la rete.
Perché Syncthing non sostituisce un backup
Se un file viene eliminato o cifrato su un dispositivo, la modifica può propagarsi agli altri. Per questo motivo, è consigliabile aprire le impostazioni della cartella sul VPS e attivare File Versioning.
Una soluzione pratica è Staggered File Versioning con una conservazione da 30 a 90 giorni. Quando un nodo remoto sostituisce o elimina un file, la versione precedente viene spostata in .stversions. Le copie più vecchie occupano spazio su disco, quindi è opportuno limitarne il periodo di conservazione.
Una configurazione affidabile è composta da tre livelli:
- Syncthing mantiene aggiornate le copie di lavoro.
- Il versionamento aiuta ad annullare alcuni errori.
- Un backup separato e pianificato viene conservato indipendentemente da Syncthing.
Un VPS può conservare i file senza vederne il contenuto?
Syncthing dispone di una modalità per dispositivi non attendibili. Sul computer principale si imposta una password per la cartella, mentre sul VPS si seleziona Receive Encrypted. Il server conserva i dati cifrati e può trasmetterli a un altro dispositivo attendibile che usa la stessa password.
Il contenuto, i nomi dei file, le date e la struttura delle directory vengono nascosti. Restano visibili le informazioni sulla cartella condivisa e le dimensioni approssimative dei file.
Gli sviluppatori considerano ancora questa funzione sperimentale. Conservate separatamente la password e il Folder ID: senza questi dati, il recupero della cartella cifrata potrebbe essere impossibile.
Quale VPS serve per Syncthing
Il consumo di risorse dipende non solo dalla quantità di dati, ma anche dal numero di file, dalla frequenza delle modifiche e dalla prima indicizzazione. Per un nodo personale con documenti e alcune decine di gigabyte, di solito è sufficiente una configurazione iniziale:
- 1 vCPU;
- 1 GB di RAM;
- archiviazione SSD o NVMe;
- spazio su disco sufficiente per i file e
.stversions; - una connessione di rete stabile.
Una grande raccolta fotografica o centinaia di migliaia di file richiederanno più risorse. Il carico maggiore si verifica in genere durante la prima scansione e il calcolo degli hash.
Un VPS Ubuntu di base di tropic.host è adatto a questo compito. Potete iniziare con una configurazione ridotta e aumentare le risorse man mano che la raccolta cresce. Nella scelta dello spazio su disco, considerate non solo le cartelle attuali, ma anche i file futuri, i dati temporanei e la cronologia delle versioni.
Cinque errori da evitare
- Esporre la porta 8384 a tutta Internet. Per la configurazione utilizzate un tunnel SSH e, per un accesso web permanente, HTTPS, una password e un reverse proxy.
- Considerare la copia sul server come un backup completo. Attivate il versionamento e create archivi di backup separati.
- Sincronizzare cache e dipendenze. Escludete le directory non necessarie tramite
.stignore. - Non controllare lo spazio su disco. La directory
.stversionspuò arrivare a occupare molto spazio nel tempo. - Lasciare attendibile un dispositivo smarrito. Rimuovetelo dagli altri nodi e proteggete la configurazione di Syncthing che contiene le chiavi del dispositivo.
Cosa sapere sugli smartphone
L’applicazione Android ufficiale è stata abbandonata alla fine del 2024, ma esistono client sviluppati dalla comunità. Non esiste nemmeno un client ufficiale per iOS: le limitazioni delle attività in background rendono difficile la sincronizzazione continua. Prima di collegare la raccolta fotografica principale, provate l’app mobile scelta con una piccola cartella di test.
Conclusione
Syncthing è adatto a chi desidera mantenere le stesse cartelle su più dispositivi senza dipendere obbligatoriamente da un intermediario cloud. Un VPS rende il sistema più comodo: i computer non devono più essere online nello stesso momento e si ottiene una copia sempre disponibile fuori casa.
Per una configurazione sicura, non esponete direttamente il pannello amministrativo, attivate il versionamento e affiancate alla sincronizzazione un backup indipendente.
FAQ
È necessario un VPS per Syncthing?
No. I dispositivi possono sincronizzarsi direttamente. Il VPS funziona come un nodo sempre attivo, permettendo loro di scambiare le modifiche in momenti diversi.
È possibile aprire i file di Syncthing nel browser?
Il pannello web serve per la configurazione, non per consultare i documenti come in Google Drive. Se serve un’unità web, Nextcloud è più adatto.
Syncthing è una soluzione di backup?
No. Le cancellazioni e i danneggiamenti possono propagarsi agli altri dispositivi. Il versionamento aiuta, ma non sostituisce un backup indipendente.
È necessario aprire la porta 8384?
No. Lasciate il pannello su 127.0.0.1:8384 e collegatevi tramite un tunnel SSH. Per la sincronizzazione, aprite 22000/TCP e 22000/UDP.
Il proprietario del VPS può leggere i file?
Con una configurazione normale, potenzialmente sì. Receive Encrypted li conserva in forma cifrata, ma la funzione è ancora considerata sperimentale e richiede di custodire con attenzione la password e il Folder ID.
