SSD Nodes Learn 🎉 VPS da $5.50/mese
Guide Matt ConnorDi Matt Connor · Aggiornato 2026-08-13

Syncthing o Nextcloud su VPS: quale scegliere?

Syncthing sincronizza i dispositivi senza copia centrale; Nextcloud offre server, account e link. Scopri quale va bene sul VPS e perché nessuno dei due è un backup.

Syncthing vs Nextcloud: la differenza decisiva

Syncthing vs Nextcloud si riduce a una differenza strutturale, da cui deriva tutto il resto. Syncthing è peer-to-peer. Ogni dispositivo contiene l'intera cartella e nessuna copia è quella autorevole. Nextcloud è un server. Una macchina contiene i file, gli account utente ne controllano l'accesso e i client scaricano le proprie copie.

Per questo Syncthing non offre link di condivisione né una visualizzazione web dei documenti. Non esiste una copia centrale da pubblicare, quindi un browser non ha nulla da richiedere. Nextcloud offre entrambe le funzioni e, per farlo, richiede un runtime PHP, un database server, un web server e un reverse proxy per TLS (transport layer security).

Scegli Syncthing quando tutti i dispositivi coinvolti appartengono a te. Scegli Nextcloud quando i file devono essere raggiungibili da un browser o da un'altra persona.

Cosa fa effettivamente il VPS in ciascuna configurazione

Un VPS che esegue Nextcloud conserva i tuoi dati. Se elimini la copia locale dal laptop, il file resta sul server, perché il server è sempre stato la copia originale.

Un VPS che esegue Syncthing svolge un compito diverso: è un peer sempre attivo. Syncthing trasferisce i dati direttamente tra due dispositivi online nello stesso momento. Due laptop che non vengono mai accesi contemporaneamente non possono quindi sincronizzarsi, per quanto a lungo si attenda. Aggiungi un terzo peer su un VPS che non va mai in sospensione e il problema scompare. Il laptop A invia i dati alle 09:00, il laptop B li riceve alle 22:00 e il VPS conserva la cartella nel frattempo.

È un ruolo concretamente utile e rappresenta un obiettivo più limitato rispetto a una "sostituzione di Dropbox". Syncthing non ti fornirà mai un link da inviare a un cliente. Se questo è il tuo requisito, fermati qui e leggi la panoramica delle alternative self-hosted a Dropbox.

Quanto costa ciascuna soluzione su un piccolo VPS

Syncthing è un singolo binario Go. Rimane in ascolto su un socket, mantiene l'indice dei file in un database locale e questo costituisce l'intero stack. Dalla versione 2.0, l'indice usa SQLite invece di LevelDB; di conseguenza, l'aggiornamento da un'installazione 1.x esegue una migrazione una tantum al primo avvio. Con un insieme di cartelle ampio, la migrazione può richiedere molto tempo. Lasciatela terminare. Non è necessario installare altro e non è necessario applicare patch ad altri componenti.

Nextcloud richiede più componenti. Ad agosto 2026, Nextcloud 35 supporta PHP dalla versione 8.3 alla 8.5, con MariaDB o PostgreSQL come database e Apache 2.4 o nginx con php-fpm come server web. Il manuale per gli amministratori raccomanda «un minimo di 512MB di RAM per processo» e php-fpm esegue contemporaneamente diversi processi worker.

Su un VPS da 1 GB, Syncthing funziona senza problemi, mentre Nextcloud ha margini ridotti. Questo non significa che Nextcloud sia la scelta sbagliata. Significa che richiede un impegno maggiore, con quattro componenti da mantenere aggiornati invece di uno. Il percorso basato su container descritto nella guida a Nextcloud su un VPS con Docker, TLS e backup è il modo meno impegnativo per gestire questo carico. Aggiungere la modifica dei documenti dal browser riduce ulteriormente questo margine, come analizzato nel confronto tra OnlyOffice e Collabora per un server da 2 a 4 GB.

Installare Syncthing sul VPS

Ubuntu distribuisce un pacchetto syncthing, ma è molto indietro rispetto alla versione upstream. Usare il repository del progetto.

sudo mkdir -p /etc/apt/keyrings
sudo curl -L -o /etc/apt/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg
echo "deb [signed-by=/etc/apt/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable-v2" | sudo tee /etc/apt/sources.list.d/syncthing.list
sudo apt-get update
sudo apt-get install syncthing
syncthing --version

syncthing --version dovrebbe stampare una riga che inizia con syncthing v2. La presenza di v1 indica che apt preferisce ancora il pacchetto della distribuzione. Impostare una priorità superiore per il repository upstream e ripetere l'installazione.

printf "Package: *\nPin: origin apt.syncthing.net\nPin-Priority: 990\n" | sudo tee /etc/apt/preferences.d/syncthing.pref

Eseguirlo come servizio di sistema con un account utente ordinario, in modo che venga avviato al boot anche quando nessun utente ha effettuato l'accesso.

sudo systemctl enable --now syncthing@youruser.service
systemctl status syncthing@youruser.service

systemctl status dovrebbe stampare active (running). I file di configurazione e gli indici vengono salvati in /home/youruser/.local/state/syncthing, mentre il file di configurazione è config.xml. Le installazioni create prima di Syncthing 1.27 li conservano invece in ~/.config/syncthing. Controllare quindi entrambi i percorsi prima di copiare dati tra macchine.

Aprire quindi le porte. Syncthing usa 22000/TCP per il protocollo di sincronizzazione, 22000/UDP per il trasporto QUIC e 21027/UDP per il rilevamento locale. Il rilevamento usa broadcast e multicast, che non attraversano Internet. Su un VPS servono quindi soltanto le prime due porte.

sudo ufw allow 22000/tcp
sudo ufw allow 22000/udp
sudo ufw status

ufw status dovrebbe elencare entrambe le regole. Se stampa Status: inactive, ufw non filtra alcun traffico e l'unico firewall attivo è quello di rete del provider. Controllare anche il pannello del provider, perché nella maggior parte degli hosting è un controllo separato. Se un dispositivo remoto rimane bloccato su Disconnected mentre il servizio è in esecuzione, di solito una delle due regole firewall è ancora chiusa.

Accedere alla GUI di Syncthing senza pubblicarla

La GUI web (interfaccia grafica) è in ascolto su 127.0.0.1:8384 per impostazione predefinita, quindi risponde soltanto dal server stesso. Questa impostazione predefinita è protettiva, perché la GUI contiene una chiave API (interfaccia di programmazione dell'applicazione) che può riscrivere ogni percorso delle cartelle sul server.

Non esporla a Internet come primo passaggio. La documentazione chiarisce cosa comporta associare il servizio a un indirizzo di rete: «specificare l'indirizzo LAN del computer NON limiterà l'accesso ai soli dispositivi della rete locale». Inoltra invece la porta tramite SSH dal tuo laptop.

ssh -L 8384:127.0.0.1:8384 youruser@your.vps.example

Apri http://127.0.0.1:8384 nel browser locale mentre la sessione è attiva. Il tunnel si chiude con la sessione SSH, quindi in seguito non rimane nulla in ascolto.

Se devi rendere la GUI direttamente raggiungibile, imposta prima le credenziali. Sul server non è disponibile un browser, quindi esegui questa operazione dalla riga di comando.

sudo systemctl stop syncthing@youruser.service
sudo -H -u youruser syncthing generate --gui-user=admin --gui-password=-
sudo systemctl start syncthing@youruser.service

-H è importante, perché senza di esso sudo mantiene la directory home di root e modifichi il file config.xml sbagliato. Un singolo trattino come valore della password fa sì che syncthing generate legga la password dallo standard input. In questo modo la password non viene salvata nella cronologia della shell e il valore viene sottoposto a hash prima di essere scritto nel file. Attiva HTTPS nelle impostazioni della GUI dopo aver effettuato l'accesso.

Perché Syncthing propaga i tuoi errori

La FAQ di Syncthing risponde direttamente alla domanda sui backup: «Syncthing non è una buona applicazione di backup perché tutte le modifiche ai file (modifiche, eliminazioni e così via) vengono propagate a tutti i tuoi dispositivi».

Se elimini per errore una cartella dal laptop, Syncthing funziona esattamente come previsto. Elimina quella cartella ovunque, in pochi secondi. La sincronizzazione implica che i dispositivi abbiano lo stesso contenuto, compreso il fatto che un file non esista più.

Il versioning dei file è la soluzione, ma resta disattivato finché non lo abiliti. La documentazione specifica che, per impostazione predefinita, «non viene usato il versioning dei file», cioè non vengono conservate copie precedenti dei file. Sono disponibili quattro strategie per ogni cartella. Trash Can conserva una copia di ogni file eliminato o sostituito in seguito a una modifica remota. Simple conserva un numero definito di versioni precedenti per ogni file. Staggered riduce progressivamente la cronologia con l'aumentare dell'età: conserva copie orarie per un giorno, copie giornaliere per un mese e così via. External affida ogni decisione a un comando scritto da te. Le copie precedenti vengono inserite in una directory .stversions all'interno della cartella condivisa.

Imposta Staggered sul peer VPS e lascia disattivato il versioning sui laptop. Il peer sempre attivo conserverà la cronologia, mentre i laptop resteranno leggeri.

Nextcloud gestisce meglio questo aspetto, ma non è comunque un backup. I file eliminati vengono spostati nel cestino e le modifiche vengono conservate dall'app Versions, ma entrambi vengono ripuliti automaticamente quando lo spazio sul disco diminuisce. Un processo sul laptop che cifra i file sincronizzerà le versioni cifrate, mentre le copie corrette verranno eliminate secondo la relativa pianificazione.

Entrambi gli strumenti richiedono un vero backup sottostante: snapshot creati da un programma separato, scritti in una posizione non accessibile al client di sincronizzazione e ripristinati almeno una volta, per verificare che il ripristino funzioni. Il confronto tra restic e BorgBackup spiega quale dei due usare per la directory dei dati.

Differenze tra i conflitti dei due strumenti

Entrambi gli strumenti generano un file di conflitto quando due lati modificano lo stesso file tra due sincronizzazioni. La differenza riguarda chi lo vede.

Syncthing rinomina la copia perdente in <filename>.sync-conflict-<date>-<time>-<modifiedBy>.<ext>. Perde la copia con l'ora di modifica più vecchia. Se le ore sono identiche, perde il dispositivo con il valore maggiore nei primi 63 bit del relativo device ID. Il risultato è arbitrario, ma identico su tutti i peer. Qui si verifica il comportamento che spesso non è immediatamente evidente: questi file «vengono trattati come file normali dopo la loro creazione, quindi vengono propagati tra i dispositivi». Ogni peer riceve la copia in conflitto. Per eliminarla basta una cancellazione che viene sincronizzata, ma prima il file sarà visibile su tutti i sistemi.

Il client desktop di Nextcloud scrive <name> (conflicted copy YYYY-MM-DD HHMMSS).<ext>, ad esempio mydata (conflicted copy 2018-04-10 093612).txt, e per impostazione predefinita non carica il file. Il manuale del client spiega il motivo: l'autore della modifica è la persona più adatta a risolvere il conflitto, mentre mostrare il conflitto agli altri utenti crea soltanto confusione. Imposta OWNCLOUD_UPLOAD_CONFLICT_FILES=1 nell'ambiente del client per ottenere il comportamento opposto.

Quindi, un conflitto Syncthing è un evento che riguarda l'intero cluster, mentre un conflitto Nextcloud rimane su un singolo desktop.

I tipi di cartella rendono Syncthing più sicuro su un server

Syncthing dispone di tre tipi di cartella. Scegliere quello corretto sul VPS elimina un’intera categoria di errori.

  • Send & Receive è il valore predefinito. Le modifiche vengono propagate in entrambe le direzioni.
  • Send Only ignora tutto ciò che il cluster invia. Usalo quando un dispositivo deve soltanto pubblicare dati. Quando non è più sincronizzato, la GUI mostra un pulsante rosso "Override Changes", che propaga a tutti lo stato locale.
  • Receive Only applica le modifiche del cluster e non invia mai le modifiche locali. Usalo su un VPS che funge da archivio. Le modifiche locali mostrano invece un pulsante rosso "Revert Local Changes".

Una cartella Receive Only sul VPS con il versioning Staggered attivato fornisce un mirror con versioning. Una cancellazione eseguita su un laptop viene comunque applicata, perché è una modifica valida del cluster, ma la copia precedente viene spostata in .stversions invece di essere eliminata.

Quale scegliere

Le 7 righe riportate di seguito coprono i motivi per cui questa domanda viene posta concretamente.

ChartWhich tool fits which job
The data behind this chart
[
  {
    "label": "Keep two of my own laptops in sync",
    "pick": "Syncthing",
    "notes": "No accounts to manage. The VPS is the peer that is always awake."
  },
  {
    "label": "Send a download link to a client",
    "pick": "Nextcloud",
    "notes": "Syncthing has no public link sharing at all."
  },
  {
    "label": "Open a file from a borrowed browser",
    "pick": "Nextcloud",
    "notes": "The Syncthing GUI shows sync state, never file contents."
  },
  {
    "label": "Sync 200 GB between machines I own",
    "pick": "Syncthing",
    "notes": "Peers transfer directly. The VPS copy is optional."
  },
  {
    "label": "Phone photo upload with a store app",
    "pick": "Nextcloud",
    "notes": "The official Syncthing Android app ended in December 2024."
  },
  {
    "label": "Calendar and contacts alongside files",
    "pick": "Nextcloud",
    "notes": "Syncthing syncs files. That is the entire feature set."
  },
  {
    "label": "1 GB VPS with nothing else to spare",
    "pick": "Syncthing",
    "notes": "One Go binary against PHP plus a database plus a web server."
  }
]

Osserva la prima riga. Mantenere sincronizzati due portatili personali fa propendere per Syncthing. In questo caso una VPS è utile come peer sempre disponibile. Ogni riga che riguarda un browser, un link o un'altra persona porta invece nella direzione opposta.

Se Nextcloud continua a risultare la scelta migliore, ma le sue dimensioni ti preoccupano, il confronto tra Seafile e Nextcloud è il prossimo contenuto da leggere, perché Seafile mantiene il modello server, ma utilizza un motore di sincronizzazione diverso.

Eseguire entrambi su un unico VPS

Non sono alternative esclusive. Usare Syncthing per trasferire file tra le proprie macchine e lasciare a Nextcloud la gestione della condivisione e dei calendari è una configurazione comune.

Se si adottano entrambi, esiste una regola: non indicare mai a Syncthing la directory dei dati di Nextcloud. Nextcloud registra ogni file nel proprio database. Di conseguenza, i file che compaiono sul disco dall'esterno restano invisibili nell'interfaccia web finché il database non viene aggiornato. Dalla directory di installazione di Nextcloud:

sudo -u www-data php occ files:scan --all

Il comando stampa il numero di file e directory analizzati. Eseguirlo a intervalli regolari è una soluzione temporanea, non una progettazione corretta. Assegnare a ogni strumento una directory dedicata. Se si sta ancora decidendo quali servizi ospitare effettivamente sul server, la guida a cosa eseguire in self-hosting nel 2026 è un punto di partenza migliore rispetto alla scelta preliminare di uno strumento di sincronizzazione.

FAQ

Syncthing può sostituire Dropbox?

Solo per la parte relativa alla sincronizzazione dei tuoi dispositivi. Syncthing non offre link pubblici per la condivisione né account utente, e la sua interfaccia web non mostra mai il contenuto dei file, perché non esiste una copia centrale che un browser possa richiedere. L'app ufficiale per Android è stata dismessa dopo il rilascio di December 2024 e non è più disponibile sul Play Store, quindi il supporto per i telefoni dipende ora da un fork della community. Se devi inviare a qualcuno un link, ti serve un server, quindi Nextcloud o una soluzione simile.

Syncthing è un sistema di backup?

No, e il progetto lo dichiara esplicitamente. Eliminazioni e modifiche vengono propagate a tutti i dispositivi, quindi un'eliminazione accidentale scompare ovunque nel giro di pochi secondi. L'attivazione del versioning dei file per ogni cartella, in particolare Staggered su un peer sempre attivo, crea una finestra di ripristino tramite la directory .stversions. Non sostituisce gli snapshot creati da uno strumento separato su uno storage separato.

Perché non riesco a vedere i miei file nella GUI web di Syncthing?

Perché la GUI è un pannello di controllo dello stato della sincronizzazione, non un file browser. Mostra cartelle, dispositivi, avanzamento dei trasferimenti e numero dei conflitti, ma non elenca né apre mai il contenuto dei file. Questo deriva dall'architettura peer-to-peer: i file risiedono sui tuoi dispositivi e la GUI sul VPS gestisce soltanto il processo che li trasferisce.

Quali porte deve avere aperte Syncthing su un VPS?

22000/TCP per il protocollo di sincronizzazione e 22000/UDP per il trasporto QUIC. La porta 21027/UDP gestisce la local discovery tramite broadcast e multicast, che non attraversa Internet, quindi lasciala chiusa su un server pubblico. Lascia la GUI sulla porta 8384 associata a 127.0.0.1 e raggiungila tramite un tunnel SSH. Controlla il firewall di rete del provider oltre a ufw, perché sono controlli distinti.

Posso eseguire Syncthing e Nextcloud sullo stesso VPS?

Sì, ed è una configurazione ragionevole su un server con almeno 2 GB di RAM. Mantieni separate le rispettive directory. Nextcloud indicizza i file nel proprio database, quindi tutto ciò che Syncthing scrive nello storage di Nextcloud resta invisibile nell'interfaccia web finché non viene eseguito occ files:scan. Inoltre, due strumenti che scrivono nella stessa directory generano file di conflitto che nessuno dei due prevede.