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

Alternative self-hosted a Dropbox: confronto pratico

Confronto tra Nextcloud, Seafile, Syncthing e object storage: topologie di sync, costi reali 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 piccoli, 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 e non ha bisogno di condividere link con utenti esterni. L’object storage è adatto a un archivio: byte economici 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 conserva la copia che tutte le altre macchine considerano coerente, determina se sarai ancora soddisfatto tra sei mesi.

Topologia della sincronizzazione: un server autorevole oppure peer senza server

Sono possibili due architetture e gran parte di ciò che segue dipende dalla scelta effettuata.

Un server autorevole. Nextcloud, Seafile e lo storage a oggetti funzionano in questo modo. Una macchina, generalmente un VPS (virtual private server), conserva la copia autorevole. Ogni dispositivo comunica con quella macchina. Il laptop può restare spento per un mese e, al riavvio, recuperare autonomamente le modifiche. Un telefono con 6 GB di spazio libero può conservare un sottoinsieme dei dati, mentre il server conserva tutto. Un browser può raggiungere i file: è questo il motivo per cui possono esistere i link di condivisione.

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. Per trasferire una modifica tra due dispositivi, entrambi devono essere online nello stesso momento. Non esiste un URL da fornire, perché nessuna macchina pubblica una pagina.

Ne conseguono quattro aspetti, che spesso diventano evidenti 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 gli aggiornamenti da un server ogni volta che torna online. In una configurazione peer, li recupera soltanto mentre è 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 è un'applicazione web PHP. Memorizza i file come normali file all'interno di una directory dati e ne tiene traccia 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. I client desktop supportano Linux, macOS e Windows; le app per iOS e Android sono ufficiali. Se il motivo per cui vuoi abbandonare Dropbox è che altre persone devono ricevere i tuoi file, questa è la risposta corretta.

Il costo è la complessità dell'insieme. Un'installazione standard esegue un web server, 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 il servizio si avvia, ma un caricamento di grandi dimensioni o un lungo comando di manutenzione occ può attivare l'oom-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 sono compilate per una specifica release del core, quindi verifica che le app da cui dipendi supportino la versione major successiva prima di procedere.

Nextcloud rallenta quando un account contiene centinaia di migliaia di file di piccole dimensioni, 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 analizza uno alla volta. In un contesto domestico questo problema non si presenta. Dimensionamento, TLS (transport layer security) 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 raccolta fotografica; ogni app abilitata aggiunge attività in background e un ulteriore elemento che può bloccare un aggiornamento. Se il problema riguarda realmente le foto, uno strumento dedicato le gestisce meglio: consulta Immich come alternativa self-hosted a Google Photos. Se il problema riguarda realmente documenti e wiki, valuta le alternative self-hosted a Notion invece di aggiungere altre app al file server.

Seafile: progettato per un numero molto elevato di file di piccole dimensioni

Seafile suddivide ogni file in blocchi e li archivia 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 di piccole dimensioni termina molto più rapidamente rispetto a quanto consentito da un protocollo basato sui singoli file. I blocchi identici vengono archiviati una sola volta, quindi una seconda copia di un file di grandi dimensioni ha un costo quasi nullo.

Il compromesso è che i file sul server non sono più file nel senso tradizionale. Aprendo la directory di storage si trovano file oggetto con nomi esadecimali. Per estrarre i dati servono il client Seafile oppure gli strumenti di export e fsck forniti da 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é è proprio l'aspetto di cui gli utenti si pentono in seguito.

Seafile offre una community edition e una paid professional edition. La distinzione tra le due cambia tra le varie release, quindi consulta i termini aggiornati sul sito prima di pianificare un'implementazione di team basata su una funzione specifica. Sono disponibili client desktop e mobile ufficiali. Le librerie cifrate vengono cifrate sul client, quindi il server archivia 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 anche in questo caso 2 GB è il limite minimo ragionevole.

Syncthing: nessun accesso richiesto

Syncthing è un singolo binario Go. Monitora le cartelle, trova i peer tramite un server di discovery o un relay e sincronizza direttamente i dispositivi. Non ci sono account né una pagina di accesso per le persone con cui esegui la sincronizzazione. Abbini due dispositivi tramite l'ID e accetti la cartella su entrambi. È il software che richiede meno gestione tra quelli descritti, perché c'è ben poco da amministrare.

Rinunci però all'intera area della 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 è un limite: Android app, no official iOS. Le FAQ ufficiali del progetto sono chiare: "There are no plans by the current Syncthing team to officially support iOS in the foreseeable future", perché iOS limita sufficientemente l'elaborazione in background da rendere difficile una sincronizzazione affidabile. Gli utenti iOS devono quindi ricorrere ad applicazioni di terze parti.

Il consumo di risorse è contenuto, con un aspetto importante da conoscere. Syncthing mantiene una voce di indice per ogni file sincronizzato, quindi l'uso di memoria e la prima scansione crescono in base al numero di file, non alla dimensione totale. Il primo calcolo degli hash di una cartella di grandi dimensioni utilizzerà la CPU per un certo periodo, poi il carico si stabilizzerà. Anche con il piano VPS più piccolo il funzionamento è agevole.

I conflitti vengono gestiti mantenendo entrambe le versioni. Quando due dispositivi modificano lo stesso file senza poter comunicare tra loro, Syncthing rinomina una copia e la conserva accanto all'altra, quindi troverai file come notes.sync-conflict-20260802-141530-K7MB3QT.md. Non viene perso nulla. Non viene nemmeno eseguita alcuna fusione automatica: 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 fornito da un provider a noleggio. Vi si accede con uno strumento: rclone dalla riga di comando oppure un client desktop che presenta il bucket come un'unità. 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, quindi va attivato quando si crea il bucket, perché non si applica agli oggetti caricati in precedenza.

Il problema nasce quando si tratta un bucket come una cartella di sincronizzazione. Per impostazione predefinita, nessun componente monitora la directory Documents. rclone bisync esegue la sincronizzazione bidirezionale e la documentazione di rclone è chiara sui requisiti di attenzione. L'object storage è invece molto efficace come livello sottostante: una destinazione per i backup oppure il livello di storage dietro un'applicazione. Object storage compatibile con S3 e self-hosted con MinIO illustra il lato server.

Il costo delle risorse è particolare in questo caso. MinIO è costituito da un unico binario e, quando è inattivo, consuma poche risorse. Il costo effettivo è quello del disco e, su un VPS, corrisponde a un volume a blocchi noleggiato in base ai gigabyte, oltre alla banda utilizzata per trasferire gli oggetti in ingresso e in uscita. Nessuno dei due costi compare in free -h, quindi leggi quanto costa davvero un VPS al mese prima di dimensionare un archivio.

Confronto tra condivisione, client mobili e controllo delle versioni

ChartSharing, mobile clients and versioning, by tool
The data behind this chart
[
  {
    "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": "Android app, no official iOS",
    "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 un’unica linea. Tre possono fornire un file a una persona sconosciuta che dispone soltanto di un browser. Una comunica esclusivamente con dispositivi già in tuo possesso. La voce relativa al controllo delle versioni di Seafile, Library history and snapshots, merita una precisazione: la cronologia viene conservata per ogni libreria, quindi eliminando una libreria si elimina anche la relativa cronologia.

Recuperare i dati

Il costo di uscita è facile da verificare ora e costoso da scoprire in seguito, quindi controllalo prima di impegnarti.

Nextcloud archivia i file effettivi in directory effettive, quindi un tar della directory dei dati consente di recuperare i documenti anche se l'applicazione non dovesse più avviarsi. Syncthing fa lo stesso su ogni peer: è la soluzione con la strategia di uscita più solida, perché 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. Per l'object storage serve rclone o un equivalente, disponibile con un solo comando.

La sincronizzazione non è un backup: è qui che si perdono i dati

Ogni strumento descritto in questa guida copia le modifiche tra più macchine. Una eliminazione è una modifica. Se rimuovi una directory dal laptop, il client lo comunica al server, il server applica la modifica e tutti gli altri dispositivi la rimuovono a loro volta. Il ransomware segue lo stesso percorso: 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. Tuttavia, scadono, possono essere svuotati dallo stesso account che ha commesso l'errore e si trovano sullo stesso disco della copia attiva. Un volume guasto può rendere indisponibili contemporaneamente i file e la relativa cronologia.

Un backup è una copia separata, su hardware distinto, eseguita secondo una pianificazione e ripristinata almeno una volta. Esegui il backup del database nella stessa procedura dei file. Il ripristino di una directory dati di Nextcloud senza il relativo database produce un'istanza che non sa che quei file esistono; un occ files:scan successivo recupera i file, ma perde le condivisioni e la cronologia delle versioni memorizzate in quelle tabelle. Backup pianificati con restic da un VPS descrive la versione cifrata e deduplicata di questa procedura, incluso come testare un ripristino invece di darlo per scontato.

Cosa sceglierei

Nextcloud, per la maggior parte delle persone che leggono questa guida. Dopo aver abbandonato Dropbox, spesso manca la possibilità di condividere un link con qualcuno che non installerà mai nulla e di aprire un file sul telefono. Nextcloud offre entrambe le funzioni tramite client ufficiali e senza un piano a pagamento; 2 GB di RAM sono un costo ragionevole per questo. Farei due eccezioni. Se la directory è soltanto tua e si trova sempre su hardware di tua proprietà, usa Syncthing: non avrai alcun server da aggiornare né alcun accesso web da proteggere. Se sincronizzi una directory di lavoro con centinaia di migliaia di file, usa Seafile e accetta lo storage non trasparente in cambio della velocità. Lo storage a oggetti va usato sotto la soluzione scelta, 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. Una cancellazione è una modifica come le altre, quindi 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 sullo stesso VPS?

Sì, sono in ascolto su porte diverse e non entrano in conflitto. Non impostare una cartella Syncthing come directory dei dati di Nextcloud. Nextcloud registra ogni file in un database, quindi i file che compaiono sul disco senza passare da Nextcloud rimangono invisibili finché non esegui occ files:scan, mentre i file rimossi direttamente dalla directory lasciano nel database record 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 controllare.

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 configurato. Syncthing non offre questa funzione. Il suo modello di condivisione si basa sull'associazione dei dispositivi: l'altra persona deve installare Syncthing, fornirti un device ID e accettare la cartella.

Quanto spazio su disco richiede il server?

Per un server che conserva la copia di riferimento dei dati, prevedi lo spazio necessario per l'intera dimensione dei dati condivisi, più lo spazio per la cronologia delle versioni e il cestino, oltre a un margine operativo per gli upload in corso. La cronologia delle versioni è l'aspetto più 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 impedisce che questa crescita esaurisca lo spazio del filesystem root, perché un disco pieno blocca l'intero server e non soltanto un upload.

#self-hosting#file-sync#nextcloud#syncthing#storage