Alternative a Dropbox self-hosted: confronto pratico
Confronto tra Nextcloud, Seafile, Syncthing e object storage: topologie di sincronizzazione, costi su un piccolo VPS e perché la sync non è un backup.
Quale alternativa self-hosted a Dropbox dovresti usare?
Quattro alternative self-hosted a Dropbox meritano attenzione: Nextcloud, Seafile, Syncthing e l'object storage con un client. Non sono intercambiabili. Nextcloud è adatto a una famiglia o a un piccolo team in cui altre persone devono ricevere file. Seafile è adatto a una persona o a un team che sincronizza un numero molto elevato di file di piccole dimensioni, quando la velocità di sincronizzazione è più importante di come i dati sono organizzati sul disco. Syncthing è adatto a una persona che sincronizza i propri dispositivi, quando nessuno dall'esterno deve ricevere un link. L'object storage è adatto a un archivio: spazio economico per dati che si aprono raramente.
Prima di confrontare le funzionalità, scegli in base al funzionamento della sincronizzazione. Gli elenchi delle funzionalità sembrano tutti uguali. È la topologia, cioè quale macchina contiene la copia considerata autorevole da tutte le altre, a determinare se tra sei mesi sarai ancora soddisfatto.
Topologia della sincronizzazione: un server autorevole oppure peer senza server
Le opzioni sono due e gran parte di ciò che segue dipende dalla scelta effettuata.
Un server autorevole. Nextcloud, Seafile e l'object storage funzionano in questo modo. Una macchina, di solito un VPS (virtual private server), conserva la copia autorevole. Ogni dispositivo comunica con quella macchina. Il laptop può rimanere spento per un mese e recuperare automaticamente le modifiche al ritorno online. Un telefono con 6 GB di spazio libero può contenere un sottoinsieme dei dati, mentre il server conserva tutto. Un browser può accedere ai file, ed è per questo che i link di condivisione possono esistere.
Peer senza server. Syncthing funziona in questo modo. I dispositivi si individuano e si scambiano direttamente gli elenchi dei file tramite una connessione crittografata. Nessuna copia è autorevole: un file esiste sui dispositivi che lo contengono e in nessun altro luogo. Due dispositivi devono essere online nello stesso momento perché una modifica possa passare dall'uno all'altro. Non esiste un URL da fornire, perché nessuna macchina pubblica una pagina.
Ne conseguono quattro aspetti, che spesso vengono compresi solo in seguito.
- Per inviare un file a una persona che non installerà software serve un server autorevole. Un link è un URL e un URL richiede un processo in ascolto su una porta.
- Per raggiungere i propri file da una macchina che non si controlla, ad esempio un laptop aziendale, serve un server autorevole.
- Un dispositivo rimasto spento per settimane recupera i dati da un server ogni volta che torna online. In una configurazione peer li recupera soltanto quando è online anche un altro dispositivo che contiene quei dati. Per questo molti utenti di Syncthing eseguono un'istanza su un VPS come peer sempre attivo.
- Lo spazio di archiviazione viene utilizzato in modo diverso. Un server autorevole conserva una copia completa, oltre ai dati che ogni dispositivo mantiene localmente. Quattro peer che condividono una cartella conservano quattro copie complete, perché ogni peer mantiene l'intera cartella.
Nextcloud: utenti, gruppi e link pubblici
Nextcloud è un’applicazione web PHP. Archivia i file come normali file in una directory dati e li registra in un database. È possibile condividere una cartella con un utente, con un gruppo oppure tramite un link pubblico protetto da password e con una data di scadenza. La cronologia delle versioni è attiva per impostazione predefinita e i file eliminati vengono spostati prima nel cestino. Sono disponibili client desktop per Linux, macOS e Windows, oltre alle app ufficiali per iOS e Android. Se il motivo per cui vuoi abbandonare Dropbox è permettere ad altre persone di ricevere i tuoi file, questa è la risposta più concreta.
Il prezzo da pagare è la complessità dei componenti. Un’installazione normale esegue un server web, PHP-FPM (il gestore dei processi PHP), un database come MariaDB o PostgreSQL e Redis per il blocco dei file. Un job in background viene eseguito ogni cinque minuti tramite cron o un timer systemd. Su un VPS da 1 GB si avvierà, ma poi un upload di grandi dimensioni o un comando di manutenzione occ prolungato può incontrare l’out-of-memory killer. Considera 2 GB come il minimo per pochi utenti e prevedi di aver bisogno di 4 GB quando abiliti altre app. L’altro costo riguarda gli aggiornamenti: le app dell’app store vengono compilate per una release specifica del core, quindi prima di procedere verifica che le app da cui dipendi supportino la versione principale successiva.
Nextcloud rallenta quando un account contiene centinaia di migliaia di file piccoli, perché ogni file corrisponde a una riga nella tabella della cache dei file e a un file reale sul disco, mentre il client desktop li percorre uno alla volta. Su scala domestica questo problema non si presenta. Dimensionamento, TLS (sicurezza del livello di trasporto) e backup sono trattati in un’installazione di Nextcloud basata su Docker con TLS e backup, che è il riferimento da seguire dopo aver preso la decisione.
Una precisazione sull’ambito. Nextcloud può gestire anche calendario, contatti, note e libreria fotografica, ma ogni app abilitata aggiunge attività in background e un ulteriore elemento che può bloccare un aggiornamento. Se il problema reale sono le foto, uno strumento dedicato le gestisce meglio: vedi Immich come alternativa self-hosted a Google Photos. Se il problema reale sono documenti e wiki, valuta le alternative self-hosted a Notion invece di aggiungere app al file server. Per modificare questi documenti nel browser serve un server office aggiuntivo. Il server CODE integrato di Collabora viene installato come app Nextcloud ed è pensato per uso personale o per piccoli team, mentre il manuale ufficiale di Nextcloud lo definisce leggermente più lento di un server standalone e raccomanda un’installazione dedicata per ottenere prestazioni migliori. Valuta quindi OnlyOffice rispetto a Collabora prima di presumere che il minimo di 2 GB sia ancora sufficiente.
Seafile: progettato per un numero molto elevato di file piccoli
Seafile divide ogni file in blocchi e li memorizza in un object store interno indirizzato tramite hash del contenuto, secondo lo stesso principio usato da git per i propri oggetti. L'unità di sincronizzazione e condivisione è una libreria, non un albero di directory. Poiché il client carica i blocchi e un solo commit invece di inviare una richiesta per ogni file, la sincronizzazione di una directory con 100,000 file piccoli termina molto più rapidamente rispetto a un protocollo basato sui singoli file. I blocchi identici vengono memorizzati una sola volta, quindi una seconda copia di un file di grandi dimensioni richiede uno spazio aggiuntivo quasi nullo.
Il compromesso è che i file sul server non sono più file utilizzabili direttamente. Aprendo la directory di storage si trovano file oggetto con nomi esadecimali. Per recuperare i dati servono il client Seafile oppure gli strumenti di export e fsck inclusi in Seafile. I backup continuano a funzionare, perché questi oggetti sono normali file, ma non è possibile ripristinare un singolo foglio di calcolo con cp. Decidi subito se questo comportamento è accettabile, perché è una caratteristica di cui molti si pentono in seguito.
Seafile offre una community edition e una professional edition a pagamento. La distinzione tra le due cambia tra una release e l'altra, quindi leggi i termini aggiornati sul loro sito prima di progettare un'installazione di team basata su una funzione specifica. Sono disponibili client desktop e mobile ufficiali. Le librerie cifrate vengono cifrate sul client, quindi il server memorizza ciphertext che non può leggere. Se perdi la passphrase, la libreria non è più leggibile, nemmeno da te. Aprire una libreria cifrata nel browser significa fornire quella passphrase alla sessione web, quindi la versione più forte di questa garanzia vale per i client desktop e mobile.
Il consumo di risorse è simile a quello di Nextcloud. Devi eseguire un database, una cache in memoria e due processi applicativi, quindi 2 GB è ancora il limite minimo ragionevole.
Syncthing: nessun accesso necessario
Syncthing è un singolo binario Go. Monitora le cartelle, individua i peer tramite un server di discovery o un relay e sincronizza direttamente i dispositivi. Non ci sono account né pagine di accesso per le persone con cui sincronizzi i dati. Abbini due dispositivi tramite l'ID e accetti la cartella su ciascun lato. È il software più semplice da eseguire tra quelli descritti, perché richiede pochissima gestione.
In cambio, rinunci completamente alla condivisione. La relativa voce è Device pairing only, no links. Non puoi fornire un link a un cliente, a un commercialista o a un familiare. Anche il supporto mobile è limitato: Community apps only, no official mobile app. L'app ufficiale per Android è stata dismessa dopo l'ultima release del dicembre 2024 e la documentazione del progetto ora elenca app Android della community, come Syncthing-Fork. Su iOS, le FAQ del progetto sono esplicite: "There are no plans by the current Syncthing team to officially support iOS in the foreseeable future", perché iOS limita l'elaborazione in background al punto da rendere difficile una sincronizzazione affidabile. Gli utenti iOS devono quindi usare app di terze parti.
L'uso delle risorse è ridotto, ma c'è un aspetto da conoscere. Syncthing conserva una voce di indice per ogni file sincronizzato, quindi la memoria utilizzata e la durata della prima scansione aumentano in base al numero di file, non alla dimensione complessiva. La prima volta che calcola gli hash di una cartella di grandi dimensioni utilizza la CPU per un certo periodo, poi il carico si stabilizza. Sul piano VPS più piccolo funziona senza problemi.
I conflitti vengono gestiti conservando entrambe le versioni. Quando due dispositivi modificano lo stesso file mentre non riescono a comunicare, Syncthing rinomina una copia e la conserva accanto all'altra. In questo modo trovi file come notes.sync-conflict-20260802-141530-K7MB3QT.md. Non viene perso nulla. Tuttavia, le versioni non vengono nemmeno unite e il conflitto deve essere risolto manualmente.
Object storage con un client: spazio economico, non una cartella di sincronizzazione
Per object storage si intende un bucket compatibile con S3 (simple storage service), ospitato autonomamente con MinIO oppure noleggiato presso un provider. Prima di installarlo autonomamente, considera che il repository community di MinIO è stato archiviato ed è in sola lettura dal 25 aprile 2026, è contrassegnato come non più mantenuto e non riceve più binari community precompilati. Una nuova installazione richiede quindi la compilazione dal codice sorgente, senza garanzia di patch future. Per accedere a un bucket usi uno strumento: rclone dalla riga di comando oppure un client desktop che presenta il bucket come un'unità. Se preferisci esplorare il bucket da una pagina web invece che da una shell, diversi strumenti presenti in questo confronto tra file manager self-hosted usano un bucket S3 come backend e aggiungono i propri link di condivisione. La condivisione avviene tramite un URL presigned, cioè un link generato con una propria scadenza. Il versioning è un'impostazione del bucket: Bucket versioning, off by default. Se lo abiliti in seguito, copre comunque gli oggetti già presenti nel bucket. A questi viene assegnato un null ID di versione; la successiva sovrascrittura o eliminazione conserva quella copia come versione precedente invece di scartarla. Il versioning non può però recuperare elementi sovrascritti o eliminati prima della sua attivazione. Abilitalo quindi quando crei il bucket.
Usare un bucket come cartella di sincronizzazione è il punto in cui si verificano i problemi. Per impostazione predefinita, nessun processo monitora la directory Documents. rclone bisync esegue la sincronizzazione bidirezionale e la documentazione di rclone chiarisce che richiede attenzione. Il punto di forza dell'object storage è fare da livello sottostante: come destinazione per i backup oppure come livello di storage per un'applicazione. Object storage S3 compatibile self-hosted con MinIO illustra il lato server.
Qui il costo delle risorse è particolare. MinIO è un solo binario e in condizioni di inattività consuma poche risorse. Il costo effettivo è il disco; su un VPS significa un volume a blocchi noleggiato in base ai gigabyte, oltre alla banda utilizzata per trasferire gli oggetti in entrata e in uscita. Nessuno di questi costi compare in free -h. Leggi quindi quanto costa realmente un VPS al mese prima di dimensionare un archivio.
Confronto tra condivisione, client mobili e controllo delle versioni
I dati alla base di questo grafico
[
{
"tool": "Nextcloud",
"sharing": "Public links, users and groups",
"mobile": "Official iOS and Android apps",
"versioning": "On by default, plus trash"
},
{
"tool": "Seafile",
"sharing": "Public links with password and expiry",
"mobile": "Official iOS and Android apps",
"versioning": "Library history and snapshots"
},
{
"tool": "Syncthing",
"sharing": "Device pairing only, no links",
"mobile": "Community apps only, no official mobile app",
"versioning": "Optional per folder, off by default"
},
{
"tool": "Object storage",
"sharing": "Presigned URLs you generate",
"mobile": "Third party clients only",
"versioning": "Bucket versioning, off by default"
}
]Tutte le 4 opzioni si distribuiscono lungo una sola linea. Tre consentono di consegnare un file a una persona che dispone soltanto di un browser. Una comunica esclusivamente con i dispositivi già in tuo possesso. La voce relativa al controllo delle versioni di Seafile, Library history and snapshots, richiede una precisazione: la cronologia viene conservata per libreria, quindi una libreria eliminata porta con sé la relativa cronologia nel cestino di sistema di Seafile. Un amministratore può ripristinarla da lì, ma dopo lo svuotamento del cestino anche la cronologia viene eliminata.
Recuperare nuovamente i dati
Il costo dell’uscita è semplice da verificare ora, ma costoso da scoprire in seguito. Verificalo prima di impegnarti.
Nextcloud archivia i file reali in directory reali, quindi un tar della directory dei dati ti restituisce i documenti anche se l’applicazione non si avvia più. Syncthing fa lo stesso su ogni peer. È l’opzione con la strategia di uscita più solida: i file si trovano semplicemente su ogni dispositivo. L’object store di Seafile richiede Seafile o i relativi strumenti di esportazione per ricomporre i blocchi in file. Lo storage a oggetti richiede rclone o uno strumento equivalente, disponibile con un solo comando.
La sincronizzazione non è un backup, e proprio questa differenza causa la perdita di dati
Ogni strumento qui copia le modifiche tra le macchine. Anche un'eliminazione è una modifica. Se rimuovi una cartella dal laptop, il client informa il server, il server applica la modifica e ogni altro dispositivo la rimuove a sua volta. Il ransomware usa lo stesso meccanismo: cifra i file localmente, il client rileva i file modificati e carica le versioni cifrate. La sincronizzazione ha funzionato correttamente. I dati sono comunque persi.
I cestini e la cronologia delle versioni riducono il rischio. Hanno però una scadenza, possono essere svuotati dallo stesso account che ha commesso l'errore e si trovano sullo stesso disco della copia attiva. Se un volume si guasta, i file e la relativa cronologia vengono persi insieme.
Un backup è una copia separata, su hardware separato, eseguita secondo una pianificazione e già ripristinata almeno una volta. Esegui il backup del database nella stessa operazione dei file. Il ripristino di una directory dati di Nextcloud senza il relativo database produce un'istanza che non sa che quei file esistono; inoltre, un occ files:scan eseguito successivamente recupera i file ma perde le condivisioni e i metadati delle versioni memorizzati in quelle tabelle. Le versioni precedenti sono file presenti in data/[user]/files_versions, quindi il loro contenuto viene ripristinato insieme alla directory dati. Backup pianificati con restic da un VPS illustra la variante cifrata e deduplicata di questa procedura, compreso come verificare un ripristino invece di darlo per scontato.
Cosa sceglierei
Nextcloud, per la maggior parte delle persone che leggono questa guida. Dopo aver lasciato Dropbox, ciò che manca è poter condividere un link con qualcuno che non installerà mai nulla e aprire un file su un telefono. Nextcloud offre entrambe le possibilità tramite i client ufficiali, e 2 GB di RAM sono un costo ragionevole per ottenerle. Esegui il server gratuito che installi e gestisci autonomamente. Gli abbonamenti Enterprise di Nextcloud partono da 100 utenti e includono sia funzionalità sia supporto: al 17 ottobre 2026, la pagina dei prezzi indica Nextcloud Assistant e Nextcloud Flow come inclusi soltanto nel piano Ultimate, il più completo, e limita inoltre Whiteboard e la maggior parte delle integrazioni di terze parti in base al livello dell'abbonamento. Mantengo due eccezioni. Se la cartella è sempre e soltanto tua e si trova esclusivamente su hardware di tua proprietà, usa Syncthing: non dovrai applicare patch a un server né proteggere un accesso web. Se sincronizzi una directory di lavoro con centinaia di migliaia di file, usa Seafile e accetta lo storage opaco in cambio della velocità. Lo storage a oggetti va collocato sotto la soluzione che scegli, come destinazione dei backup, non davanti a essa come strumento di sincronizzazione.
FAQ
Syncthing è un backup per il mio laptop?
No. Syncthing replica le modifiche tra i dispositivi e una cancellazione è una modifica come le altre. Di conseguenza, un file eliminato per errore scompare da tutti i dispositivi associati nel giro di pochi secondi. Il versioning dei file per cartella è utile, ma rimane disattivato finché non lo abiliti per ogni cartella. Mantieni un backup reale su hardware separato, eseguito secondo una pianificazione, e ripristinalo una volta per verificare che il ripristino funzioni.
Posso eseguire Nextcloud e Syncthing sulla stessa VPS?
Sì, sono in ascolto su porte diverse e non entrano in conflitto. Non configurare una cartella Syncthing come directory dei dati di Nextcloud. Nextcloud tiene traccia di ogni file in un database. Di conseguenza, i file che compaiono sul disco al suo interno rimangono invisibili finché non esegui occ files:scan, mentre i file rimossi al suo interno lasciano righe nel database che puntano a elementi inesistenti. Assegna a Syncthing una directory dedicata oppure collega quella directory a Nextcloud come storage esterno, in modo che Nextcloud sappia di doverla analizzare.
Quale permette di condividere un link con una persona che non ha un account?
Nextcloud e Seafile creano entrambi link pubblici, con password opzionale e data di scadenza. Lo storage a oggetti fornisce un URL presigned che smette automaticamente di funzionare dopo il periodo impostato. Syncthing non offre questa possibilità. Il suo modello di condivisione si basa sull'associazione dei dispositivi. L'altra persona deve quindi installare Syncthing, comunicarti un device ID e accettare la cartella.
Quanto spazio su disco serve al server?
Per un server di riferimento, prevedi lo spazio necessario per l'intera dimensione dei dati condivisi, oltre allo spazio per la cronologia delle versioni e il cestino, nonché uno spazio operativo per gli upload in corso. La cronologia delle versioni è l'aspetto che viene spesso sottovalutato. Conservare ogni versione di un file da 2 GB che cambia ogni giorno fa crescere rapidamente lo spazio utilizzato, quindi imposta presto una policy di conservazione. Collocare i dati su un volume separato evita che questa crescita interessi il filesystem root. Quando il disco è pieno, infatti, si arresta l'intero server e non soltanto un upload.