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

Alternative a Nextcloud da ospitare in proprio

Confronta alternative a Nextcloud per sola sincronizzazione, server più leggero, object storage o SFTP. Valuta requisiti del VPS e costi reali della migrazione.

Quali alternative a Nextcloud vale la pena eseguire in self-hosting?

Le alternative a Nextcloud che vale la pena eseguire sono quelle che eliminano le funzioni che non hai mai usato. Nextcloud è un file server, un calendario, una rubrica, una suite per ufficio e una piattaforma per applicazioni riuniti in un’unica applicazione PHP, e paghi il costo di tutte queste funzioni a ogni caricamento di pagina. Scegli quindi un sostituto individuando l’unica attività di cui hai ancora bisogno, poi verifica il costo della migrazione dei file che già possiedi.

Questa guida organizza le opzioni in base a quell’attività: solo sincronizzazione, sincronizzazione con un server più veloce, object storage con un client sovrapposto oppure semplice accesso remoto ai file. Ogni sezione descrive i requisiti del server su un piccolo VPS (virtual private server) e spiega cosa accade all’albero delle directory esistente. Se provieni da Dropbox o Google Drive invece che da un’istanza Nextcloud già in esecuzione, la panoramica più ampia delle alternative self-hosted a Dropbox parte da quel contesto.

Perché Nextcloud rallenta su un VPS di piccole dimensioni

Il rallentamento ha cause identificabili. Conoscerle permette di capire se cambiare server risolverà davvero il problema.

Ogni caricamento di una pagina occupa un worker PHP. I requisiti di sistema di Nextcloud indicano la memoria per processo: almeno 128 MB e 512 MB come valore consigliato, ad agosto 2026. Non si tratta della memoria totale del server. Un pool di dieci worker rappresenta un budget di memoria effettivo su un piano da 2 GB. Per questo gli amministratori riducono pm.max_children nella configurazione del pool PHP-FPM. Le richieste quindi restano in coda dietro ai worker disponibili. L'interfaccia sembra lenta anche quando il disco è inattivo.

Il database cresce in base al numero di file, non alla quantità di dati. La tabella della cache dei file, oc_filecache con il prefisso delle tabelle predefinito, contiene una riga per ogni file e cartella presenti in ogni storage noto al server. Una raccolta di foto con 300,000 file di piccole dimensioni produce una tabella grande. 300 GB di file video suddivisi in 400 file producono invece una tabella piccola. La condivisione, la ricerca e lo scanner dei file leggono tutti questa tabella.

sudo mysql nextcloud -e 'SELECT COUNT(*) FROM oc_filecache;'

Un numero di righe nell'ordine dei milioni spiega un elenco di file lento meglio di qualsiasi benchmark del disco. Se l'istanza usa un prefisso delle tabelle diverso o PostgreSQL, modifica la query di conseguenza.

I job in background competono con l'interfaccia web. Il manuale di Nextcloud consiglia una voce di cron di sistema che esegue cron.php ogni cinque minuti. La generazione delle anteprime e la scansione dei file vengono eseguite da quel job, sulla stessa CPU che serve il browser.

Gli aggiornamenti principali comportano una migrazione del database. L'istanza entra in modalità di manutenzione e risponde a ogni richiesta con Nextcloud is in maintenance mode, please try again later finché la migrazione non termina. Su un VPS di piccole dimensioni con un oc_filecache grande, questo intervallo è abbastanza lungo da risultare evidente.

Decidi prima che cosa vuoi mantenere

  • Sincronizza una cartella tra macchine di tua proprietà, senza interfaccia web: Syncthing.
  • Sincronizza i dati per più persone, con interfaccia web, client mobili e link di condivisione: Seafile.
  • Archivia grandi quantità di dati a basso costo e accedici tramite script e strumenti di backup: object storage con un client.
  • Leggi e scrivi i file da remoto senza installare nuovo software sul server: SFTP o WebDAV.
  • Modifica i documenti insieme in un browser oppure condividi un calendario tra più persone: mantieni Nextcloud o accetta di eseguire due servizi.

Syncthing: sincronizzazione dei file senza applicazione server

Syncthing conserva i file come normali file. Non esiste un database dei contenuti e non esiste un'interfaccia web che distribuisca i documenti. Ogni dispositivo che aggiunge una cartella ne conserva una copia completa e Syncthing mantiene allineate le copie.

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
sudo systemctl enable --now syncthing@$USER
sudo ss -lntp | grep 8384

Una riga che mostra 127.0.0.1:8384 indica che l'interfaccia web è in esecuzione ed è associata soltanto a localhost, come richiesto su un VPS pubblico. Raggiungila con un tunnel SSH: ssh -L 8384:127.0.0.1:8384 you@your-vps, quindi apri http://127.0.0.1:8384 sul laptop. Se non è in ascolto alcun processo sulla porta 8384, il servizio non si è avviato e journalctl -u syncthing@$USER -n 50 indica il motivo.

Risorse. Syncthing non pubblica un valore minimo di memoria. Il consumo dipende dal numero di file indicizzati, non dalla loro dimensione complessiva, perché mantiene una voce di indice per ogni file in ogni cartella condivisa. La prima scansione di una cartella di grandi dimensioni richiede CPU: Syncthing calcola l'hash di ogni file prima di poter eseguire qualsiasi confronto. Su una vCPU condivisa, la prima scansione può richiedere tempo. Il consumo di memoria aumenta in base al numero di file, non ai gigabyte.

Il disco è il costo reale. Non esiste archiviazione lato server, perché Syncthing non è un server. Una cartella da 200 GB condivisa tra un VPS e un laptop richiede 200 GB su entrambi. È l'opposto di Nextcloud, dove il server conserva tutto e i client scelgono cosa sincronizzare. Usa cartelle selettive e una cartella receive only sul VPS se il VPS deve essere una destinazione di backup anziché un peer.

La migrazione è il motivo per sceglierlo. Indica a Syncthing l'albero di directory che già possiedi. Non sono necessari importazione, caricamento o conversione. Aggiungi la cartella sul VPS, aggiungila sul laptop usando lo stesso ID cartella e lascia che i due lati convergano. Se al primo contatto lo stesso file esiste in modo diverso sui due lati, Syncthing conserva entrambe le versioni e rinomina una in filename.sync-conflict-20260809-142530-ABCD123.txt. La presenza di questi file durante la prima sincronizzazione è normale e non indica un errore.

A cosa rinunci. Non ci sono account, link di condivisione da inviare ad altre persone né un modo per sfogliare i file dal browser di un telefono. L'app Android originale non è più gestita dal progetto stesso e una fork della community ne prosegue lo sviluppo. Questo è importante se l'accesso da dispositivi mobili è un requisito. Il confronto diretto tra Syncthing e Nextcloud analizza una per una le differenze funzionali.

Seafile: sincronizzazione veloce con un server più leggero

Seafile divide il lavoro in due componenti. Un'applicazione web Python chiamata Seahub gestisce l'interfaccia, mentre un processo C separato gestisce il traffico di sincronizzazione. I trasferimenti dei file non passano dall'applicazione web. Per questo un caricamento di grandi dimensioni rimane veloce mentre un altro utente naviga nell'interfaccia. La versione 13.0 è stata rilasciata il 5 gennaio 2026.

sudo mkdir -p /opt/seafile
cd /opt/seafile
sudo wget -O .env https://manual.seafile.com/13.0/repo/docker/ce/env
sudo wget https://manual.seafile.com/13.0/repo/docker/ce/seafile-server.yml
sudo wget https://manual.seafile.com/13.0/repo/docker/seadoc.yml
sudo wget https://manual.seafile.com/13.0/repo/docker/caddy.yml

Modifica .env prima di avviare qualsiasi operazione. Imposta SEAFILE_SERVER_HOSTNAME, INIT_SEAFILE_ADMIN_EMAIL, INIT_SEAFILE_ADMIN_PASSWORD, SEAFILE_MYSQL_DB_PASSWORD e JWT_PRIVATE_KEY, che devono contenere una stringa casuale di almeno 32 caratteri. Questo file indica inoltre a compose quali file YAML scaricati deve leggere. In questo modo, i quattro download vengono avviati come un unico stack.

cd /opt/seafile
sudo docker compose up -d
sudo docker compose ps

Ogni container dovrebbe risultare nello stato running. Un container che si riavvia continuamente indica quasi sempre un valore mancante in .env. sudo docker compose logs seafile indica quale valore manca.

Risorse. Ad agosto 2026, la documentazione di Seafile richiede almeno 2 GB di RAM e una CPU con 2 core oltre 2 GHz. Consideralo il requisito minimo per l'intero stack, perché la distribuzione Docker avvia anche MariaDB, il reverse proxy Caddy e l'editor SeaDoc. Assegna 4 GB se lo utilizzano più di una o due persone, oppure ometti i container opzionali.

Il problema principale della migrazione è il formato di archiviazione. Seafile non conserva i file come file. Divide ciascun file in blocchi sotto /opt/seafile-data e registra la struttura nel database. Non puoi indicare a Seafile una directory esistente e farla comparire come libreria. La migrazione richiede quindi un caricamento completo di tutti i dati di tua proprietà. Per lo stesso motivo, non puoi recuperare i dati con cp: il ripristino deve passare dal server, seaf-fsck per i controlli di coerenza oppure dal mount in sola lettura seaf-fuse.

rclone dispone di un backend Seafile nativo. Può quindi trasformare il caricamento in un unico comando ripristinabile, invece di richiedere una lunga sessione di trascinamento.

rclone config
rclone copy /srv/files seafile:MyLibrary --progress

La documentazione di rclone indica Seafile dalla versione 6.x alla 9.x come testato. Esegui quindi il comando su una cartella di piccole dimensioni e verifica il risultato prima di trasferire un terabyte.

Le librerie crittografate sono la funzione per cui molti utenti scelgono Seafile. La password viene impostata nel client e il server conserva blocchi che non può leggere. Esiste però una limitazione importante: quando visualizzi nel browser l'anteprima di un file contenuto in una libreria crittografata, la password viene inviata al server per la durata della sessione. L'anteprima nel browser e l'archiviazione a conoscenza zero non sono quindi disponibili contemporaneamente. Confronto diretto tra Seafile e Nextcloud illustra gli altri compromessi tra le funzionalità.

Object storage con un client di sincronizzazione

Se l'obiettivo è archiviare molti dati a basso costo e renderli accessibili dagli script, esegui un object store compatibile con S3 e usa la sincronizzazione come strumento separato. Ottieni durabilità, versioning e un protocollo già supportato da tutti gli strumenti di backup. Non ottieni account utente nel senso tipico di un file server né un file manager di facile utilizzo. Object storage self-hosted con MinIO descrive il lato server.

rclone copy /srv/files s3remote:mybucket --progress
rclone check /srv/files s3remote:mybucket

rclone check confronta le due estremità in base alle dimensioni e agli hash e mostra quanti file differiscono. Qualsiasi valore diverso da zero per gli errori indica che la copia è incompleta; esegui quindi di nuovo copy prima di eliminare l'origine. Devi considerare due aspetti: l'object storage non usa directory, ma solo prefissi delle chiavi, quindi una cartella vuota non viene mantenuta nella copia; inoltre, aumentare --transfers insieme alla dimensione dei chunk S3 fa aumentare l'uso di memoria di rclone, quindi su un VPS da 1 GB lascia entrambi i valori predefiniti.

WebDAV semplice o SFTP quando servono solo file remoti

Spesso la sostituzione meno costosa consiste nel non aggiungere nulla. Se il VPS esegue OpenSSH, dispone già di un file server. SFTP non richiede un demone aggiuntivo, un database o PHP, né un aggiornamento che può causare problemi di domenica.

sftp you@your-vps
rclone mount sftpremote: ~/vps --vfs-cache-mode writes

Per i client che supportano WebDAV, inclusa la maggior parte dei file manager per smartphone, rclone può pubblicare lo stesso albero di directory.

sudo apt install apache2-utils
sudo htpasswd -c /etc/rclone/htpasswd you
rclone serve webdav --addr 127.0.0.1:8080 --htpasswd /etc/rclone/htpasswd /srv/files

Associare il servizio a 127.0.0.1 e configurare davanti un reverse proxy con TLS (transport layer security). L'autenticazione di base di WebDAV invia la password a ogni singola richiesta. Per questo, usare HTTP semplice significa trasmettere la password molte volte al minuto. Il costo della migrazione è nullo, perché i file non vengono spostati. Lo svantaggio è l'assenza di sincronizzazione e di una copia offline: quando la connessione cade, i file non sono più disponibili sul client finché non viene ripristinata.

Che cosa sostituisce calendari, contatti e modifica dei documenti

Abbandonare Nextcloud ha un costo in questo ambito, ed è importante chiarire quale. Calendari e contatti usano CalDAV e CardDAV, cioè la sincronizzazione di calendari e contatti tramite HTTP, mentre Radicale è il sostituto leggero. Archivia ogni raccolta come file su disco e utilizza poche decine di megabyte di memoria.

sudo apt install radicale
sudo systemctl enable --now radicale
sudo ss -lntp | grep 5232

Il pacchetto include /usr/lib/systemd/system/radicale.service e la configurazione predefinita in /etc/radicale/config, in ascolto su localhost:5232. Radicale non offre un'interfaccia per modificare gli eventi. È quindi necessario configurare un client su telefono o desktop e modificare gli eventi da lì.

La modifica dei documenti nel browser è più difficile da sostituire. OnlyOffice Docs e Collabora Online sono entrambi motori di modifica, non sistemi di archiviazione. Ognuno richiede un'applicazione host che conservi i file e le fornisca i documenti. Senza Nextcloud serve un altro host, ad esempio Seafile con il proprio editor SeaDoc. Il confronto tra OnlyOffice e Collabora illustra quale motore eseguire dopo aver deciso quali applicazioni devono fungere da host.

Se si verifica una di queste condizioni, continua a usare Nextcloud

  • Più persone condividono un calendario e una rubrica, usando gli stessi account dei file.
  • Modifichi documenti di office nel browser, nello stesso file e contemporaneamente a un'altra persona.
  • Ti servono link di condivisione per singolo file con scadenze e password, oltre alle autorizzazioni per gruppo.
  • I tuoi utenti non sono tecnici e usano effettivamente le applicazioni mobili.

Per queste esigenze non esiste un'alternativa più leggera che offra tutte queste funzioni. La scelta corretta è risolvere i problemi dell'installazione invece di abbandonarla. La maggior parte delle istanze lente usa un pool PHP-FPM predefinito senza cache in memoria configurata, e la pagina di panoramica dell'amministrazione di Nextcloud segnala l'assenza della cache. Ridurre il numero di file monitorati aiuta più di qualsiasi altra singola modifica, perché è la tabella della cache dei file a crescere. Un'installazione di Nextcloud su un VPS con Docker, TLS e backup configura il sistema in modo da evitare la maggior parte di questi problemi.

Quanto costa realmente una migrazione, opzione per opzione

  • Syncthing: nessuna importazione. Indicatelo sull'albero di directory già presente su entrambi i lati e lasciatelo convergere.
  • SFTP o WebDAV sullo stesso albero: nessuna importazione, perché non viene spostato nulla.
  • Object storage: una copia completa attraverso la rete, riprendibile e automatizzabile tramite script; le directory vuote non vengono mantenute.
  • Seafile: un caricamento completo nelle librerie, perché il server conserva blocchi anziché file.

Qualunque sia la scelta, create prima una copia coerente dei dati di Nextcloud. I file degli utenti si trovano in forma non elaborata nella directory dei dati, in una directory per ogni utente; pertanto rsync di quell'albero è la sorgente. Mettete l'istanza in modalità di manutenzione prima della copia. In caso contrario, copierete file mentre sono in scrittura.

sudo -u www-data php occ maintenance:mode --on
sudo rsync -a --info=progress2 /path/to/nextcloud/data/ /srv/files/
find /srv/files -type f | wc -l

Confrontate questo conteggio con lo stesso find nella sorgente. Una differenza in meno indica generalmente che i permessi hanno impedito a rsync di leggere alcuni elementi; il comando visualizza questi errori durante l'esecuzione.

Quella copia presenta due rischi. I file raggiunti tramite la funzionalità di storage esterno di Nextcloud non si trovano nella directory dei dati, perché risiedono nel sistema remoto configurato in Nextcloud. Inoltre, se la cifratura lato server è stata abilitata, i file sul disco sono cifrati; quindi occ encryption:decrypt-all deve essere eseguito prima della copia, altrimenti sposterete una directory contenente dati illeggibili. Verificate entrambi gli aspetti prima di annullare qualsiasi operazione.

FAQ

Esiste un'alternativa a Nextcloud che mantenga la struttura delle directory esistente?

Syncthing e qualsiasi configurazione SFTP o WebDAV semplice. Syncthing indicizza la directory specificata e mantiene gli stessi nomi e la stessa struttura su ogni dispositivo, quindi non è necessaria alcuna procedura di importazione o caricamento. Seafile e l'object storage richiedono entrambi un caricamento completo iniziale, perché nessuno dei due archivia i dati come file ordinari in una struttura di directory ordinaria. Seafile suddivide i file in blocchi nella propria directory dei dati, mentre l'object storage usa chiavi anziché directory.

Seafile funziona su un VPS con 2 GB?

La documentazione di Seafile richiede almeno 2 GB di RAM e una CPU a 2 core oltre 2 GHz, ad agosto 2026. Consideralo il requisito minimo, senza margine disponibile, perché il deployment Docker esegue anche MariaDB, Caddy e l'editor SeaDoc nei rispettivi container. Per un singolo utente è una configurazione utilizzabile. Per una famiglia o un piccolo team, passa a 4 GB oppure escludi il container SeaDoc dallo stack e rinuncia alla modifica dei documenti nel browser.

Perché l'interfaccia web di Nextcloud è lenta mentre i download sono ancora veloci?

Perché i due percorsi eseguono attività diverse. Un download trasferisce un flusso di byte dal disco, mentre il caricamento di una pagina esegue PHP, interroga la tabella della cache dei file e spesso attende un worker PHP-FPM disponibile. Conta le righe in oc_filecache e controlla pm.max_children nel pool PHP-FPM prima di attribuire il problema allo storage. Una tabella con milioni di righe e un pool di cinque worker producono esattamente questo comportamento.

Posso mantenere Nextcloud per i calendari e spostare soltanto i file?

Sì, e spesso è la soluzione meno costosa. Sincronizza le directory di grandi dimensioni con Syncthing o Seafile e mantieni Nextcloud per CalDAV, CardDAV e la modifica dei documenti nel browser. Poiché il database di Nextcloud cresce in base al numero di file monitorati, rimuovere le strutture più grandi da Nextcloud è ciò che rende nuovamente rapida l'interfaccia. Eliminale dall'interfaccia web o tramite occ, non dalla directory dei dati sul disco; in caso contrario, il database conserva righe che fanno riferimento a file non più esistenti.