Alternatif Nextcloud untuk Di-self-host yang Layak
Bandingkan alternatif Nextcloud berdasarkan kebutuhan: sinkronisasi file, server lebih ringan, object storage, atau SFTP, sekaligus hitung biaya migrasi.
Alternatif Nextcloud mana yang layak di-self-host?
Alternatif Nextcloud yang layak dijalankan adalah yang menghapus bagian-bagian yang tidak pernah Anda gunakan. Nextcloud adalah server file, kalender, buku kontak, office suite, dan platform aplikasi dalam satu aplikasi PHP. Anda membayar seluruh fungsi tersebut pada setiap pemuatan halaman. Jadi, pilih pengganti dengan menentukan satu fungsi yang masih Anda perlukan. Kemudian, periksa biaya untuk memindahkan file yang sudah Anda miliki.
Panduan ini mengelompokkan pilihan berdasarkan fungsi tersebut: hanya sinkronisasi, sinkronisasi dengan server yang lebih cepat, object storage dengan client di atasnya, atau akses file jarak jauh biasa. Setiap bagian menjelaskan kebutuhan server pada VPS kecil (virtual private server) dan dampaknya terhadap struktur folder yang sudah ada. Jika Anda datang dari Dropbox atau Google Drive, bukan dari server Nextcloud yang sudah Anda jalankan, rangkuman alternatif Dropbox self-hosted yang lebih luas membahasnya dari sisi tersebut.
Mengapa Nextcloud menjadi lambat pada VPS kecil
Kelambatan ini memiliki penyebab yang dapat ditunjukkan. Dengan mengetahuinya, Anda dapat menilai apakah pindah server benar-benar akan membantu.
Setiap pemuatan halaman menggunakan satu worker PHP. Persyaratan sistem Nextcloud menyebutkan kebutuhan memori per proses: minimum 128 MB dan rekomendasi 512 MB, per Agustus 2026. Itu bukan total untuk seluruh server. Pool yang berisi sepuluh worker menjadi anggaran memori nyata pada paket 2 GB. Karena itu, administrator menurunkan pm.max_children dalam konfigurasi pool PHP-FPM, lalu request mengantre di belakang worker yang tersedia. Antarmuka terasa lambat meskipun disk sedang tidak sibuk.
Database bertambah berdasarkan jumlah file, bukan jumlah byte. Tabel cache file, oc_filecache dengan prefix tabel default, menyimpan satu baris untuk setiap file dan folder dalam setiap storage yang diketahui server. Pustaka foto berisi 300,000 file kecil menghasilkan tabel besar. Sebaliknya, 300 GB file video dalam 400 file menghasilkan tabel kecil. Fitur berbagi, pencarian, dan pemindai file semuanya membaca tabel tersebut.
sudo mysql nextcloud -e 'SELECT COUNT(*) FROM oc_filecache;'Jumlah hingga jutaan baris lebih dapat menjelaskan lambatnya daftar file daripada benchmark disk apa pun. Jika instance Anda menggunakan prefix tabel yang berbeda atau PostgreSQL, sesuaikan query tersebut.
Job latar belakang bersaing dengan antarmuka web. Manual Nextcloud merekomendasikan entry system cron yang menjalankan cron.php setiap lima menit. Pembuatan preview dan pemindaian file berjalan melalui job tersebut, menggunakan CPU yang sama dengan yang melayani browser Anda.
Upgrade besar merupakan migrasi database. Instance masuk ke mode pemeliharaan dan menjawab setiap request dengan Nextcloud is in maintenance mode, please try again later hingga migrasi selesai. Pada VPS kecil dengan oc_filecache yang besar, durasi ini cukup panjang untuk terasa.
Tentukan terlebih dahulu hal yang akan dipertahankan
- Sinkronkan satu folder antar-mesin milik Anda tanpa antarmuka web: Syncthing.
- Lakukan sinkronisasi untuk beberapa orang dengan antarmuka web, klien seluler, dan tautan berbagi: Seafile.
- Simpan banyak data dengan biaya rendah dan akses data tersebut dari skrip serta alat pencadangan: object storage dan sebuah klien.
- Baca dan tulis file dari jarak jauh tanpa perangkat lunak server baru: SFTP atau WebDAV.
- Edit dokumen bersama-sama di browser atau bagikan kalender antarpengguna: tetap gunakan Nextcloud atau terima bahwa Anda harus menjalankan dua service.
Syncthing: sinkronisasi file tanpa aplikasi server
Syncthing menyimpan file Anda sebagai file biasa. Tidak ada database konten dan tidak ada antarmuka web untuk menyajikan dokumen Anda. Setiap perangkat yang bergabung ke sebuah folder menyimpan salinan lengkap, dan Syncthing menjaga agar semua salinan tetap sama.
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 syncthingsudo systemctl enable --now syncthing@$USER
sudo ss -lntp | grep 8384Baris yang menampilkan 127.0.0.1:8384 berarti antarmuka web sedang berjalan dan hanya terikat ke localhost, sesuai kebutuhan pada VPS publik. Akses antarmuka tersebut melalui tunnel SSH: ssh -L 8384:127.0.0.1:8384 you@your-vps, lalu buka http://127.0.0.1:8384 di laptop Anda. Jika tidak ada listener pada 8384, berarti service gagal start, dan journalctl -u syncthing@$USER -n 50 menjelaskan penyebabnya.
Resource. Syncthing tidak menetapkan angka minimum memori. Penggunaan memorinya mengikuti jumlah file yang diindeks, bukan ukuran total file, karena Syncthing menyimpan satu entri indeks untuk setiap file pada setiap folder bersama. Pemindaian pertama pada folder besar menggunakan CPU: Syncthing menghitung hash setiap file sebelum dapat membandingkan apa pun. Pemindaian pertama ini dapat berlangsung cukup lama pada vCPU bersama. Penggunaan memori juga meningkat seiring jumlah file, bukan jumlah gigabyte.
Disk adalah biaya utama. Tidak ada penyimpanan di sisi server karena Syncthing bukan server. Folder berukuran 200 GB yang dibagikan antara VPS dan laptop memerlukan ruang 200 GB pada keduanya. Ini berlawanan dengan Nextcloud, yang menyimpan semua data di server dan memungkinkan klien memilih data yang akan disinkronkan. Gunakan folder selektif dan folder receive only pada VPS jika VPS dimaksudkan sebagai target backup, bukan sebagai peer.
Migrasi adalah alasan untuk memilihnya. Arahkan Syncthing ke struktur direktori yang sudah Anda miliki. Tidak ada proses import, upload, atau konversi. Tambahkan folder tersebut pada VPS, tambahkan juga pada laptop dengan ID folder yang sama, lalu biarkan kedua sisi menyelaraskan isinya. Jika file yang sama memiliki isi berbeda pada kedua sisi saat pertama kali terhubung, Syncthing menyimpan keduanya dan mengganti nama salah satunya menjadi filename.sync-conflict-20260809-142530-ABCD123.txt. Kemunculan file tersebut normal pada sinkronisasi pertama, bukan tanda kegagalan.
Hal yang Anda korbankan. Tidak ada akun, tidak ada tautan berbagi untuk dikirim kepada orang lain, dan tidak ada cara untuk menelusuri file melalui browser ponsel. Aplikasi Android asli tidak lagi dipelihara oleh proyek Syncthing sendiri, dan fork komunitas melanjutkan pemeliharaannya. Hal ini penting jika akses melalui perangkat seluler merupakan kebutuhan utama. Perbandingan langsung antara Syncthing dan Nextcloud membahas kesenjangan fitur tersebut satu per satu.
Seafile: sinkronisasi cepat dengan server yang lebih ringan
Seafile membagi pekerjaan menjadi dua bagian. Aplikasi web Python bernama Seahub menampilkan antarmuka, sedangkan proses C terpisah menangani trafik sinkronisasi. Transfer file Anda tidak melewati aplikasi web. Karena itu, upload besar tetap cepat saat orang lain menggunakan antarmuka. Versi 13.0 dirilis pada 5 January 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.ymlEdit .env sebelum memulai. File ini menetapkan SEAFILE_SERVER_HOSTNAME, INIT_SEAFILE_ADMIN_EMAIL, INIT_SEAFILE_ADMIN_PASSWORD, SEAFILE_MYSQL_DB_PASSWORD, dan JWT_PRIVATE_KEY, yang harus berupa string acak dengan panjang sedikitnya 32 karakter. File ini juga memberi tahu compose file YAML hasil download mana yang harus dibaca. Dengan demikian, keempat download tersebut berfungsi sebagai satu stack.
cd /opt/seafile
sudo docker compose up -d
sudo docker compose psSetiap container harus melaporkan status running. Container yang terus-menerus restart hampir selalu disebabkan oleh nilai yang belum diisi dalam .env. sudo docker compose logs seafile menunjukkan nama nilai tersebut.
Sumber daya. Dokumentasi Seafile meminta RAM minimal 2 GB dan CPU 2 core dengan kecepatan di atas 2 GHz, per August 2026. Anggap persyaratan ini sebagai batas minimum untuk seluruh stack, karena deployment Docker juga menjalankan MariaDB, reverse proxy Caddy, dan editor SeaDoc. Sediakan 4 GB jika lebih dari satu atau dua orang akan menggunakannya, atau jangan jalankan container opsional.
Hal yang perlu diperhatikan saat migrasi adalah format penyimpanan. Seafile tidak menyimpan file Anda sebagai file biasa. Seafile membagi setiap file menjadi blok di bawah /opt/seafile-data dan mencatat strukturnya dalam database. Anda tidak dapat menunjuk Seafile ke direktori yang sudah ada lalu membuatnya muncul sebagai library. Karena itu, migrasi memerlukan satu kali upload penuh untuk semua data yang Anda miliki. Desain yang sama juga berarti Anda tidak dapat mengambil data menggunakan cp: pemulihan dilakukan melalui server, seaf-fsck untuk pemeriksaan konsistensi, atau mount read-only seaf-fuse.
rclone memiliki backend Seafile native. Dengan demikian, upload dapat dilakukan menggunakan satu perintah yang dapat dilanjutkan, bukan sesi drag-and-drop yang panjang.
rclone config
rclone copy /srv/files seafile:MyLibrary --progressDokumentasi rclone mencantumkan Seafile 6.x hingga 9.x sebagai versi yang telah diuji. Karena itu, jalankan terlebih dahulu pada satu folder kecil dan periksa hasilnya sebelum mengirimkan satu terabyte data.
Library terenkripsi adalah fitur yang biasanya menjadi alasan orang bermigrasi. Password ditetapkan di client, sedangkan server menyimpan blok yang tidak dapat dibacanya. Ada satu batasan penting: saat Anda melihat preview file dari library terenkripsi di browser, password dikirim ke server untuk sesi tersebut. Jadi, preview melalui browser dan penyimpanan zero-knowledge tidak dapat digunakan secara bersamaan. Perbandingan Seafile dan Nextcloud membahas perbedaan fitur lainnya.
Object storage dengan sync client
Jika tujuannya adalah menyimpan banyak byte dengan biaya rendah dan membuatnya dapat diakses oleh skrip, jalankan object store yang kompatibel dengan S3 dan gunakan sync sebagai alat terpisah. Anda mendapatkan durability, versioning, dan protokol yang sudah didukung oleh setiap backup tool. Anda tidak mendapatkan akun pengguna seperti pada file server atau file manager yang nyaman digunakan. Object storage yang di-host sendiri dengan MinIO membahas sisi server.
rclone copy /srv/files s3remote:mybucket --progress
rclone check /srv/files s3remote:mybucketrclone check membandingkan kedua sisi berdasarkan ukuran dan hash, lalu menampilkan jumlah file yang berbeda. Nilai error selain nol berarti penyalinan belum lengkap, jadi jalankan copy lagi sebelum menghapus sumber. Perhatikan dua hal: object storage tidak memiliki direktori, hanya key prefix, sehingga folder kosong tidak akan tetap ada setelah penyalinan; dan menaikkan --transfers bersamaan dengan ukuran chunk S3 akan meningkatkan penggunaan memori rclone, jadi biarkan keduanya pada nilai default di VPS 1 GB.
WebDAV biasa atau SFTP saat Anda hanya memerlukan file jarak jauh
Pengganti yang paling murah sering kali tidak memerlukan hal baru. Jika VPS Anda menjalankan OpenSSH, berarti Anda sudah memiliki server file. SFTP tidak memerlukan daemon tambahan, database, PHP, atau upgrade yang dapat gagal pada hari Minggu.
sftp you@your-vps
rclone mount sftpremote: ~/vps --vfs-cache-mode writesUntuk klien yang mendukung WebDAV, termasuk sebagian besar pengelola file di ponsel, rclone dapat menyediakan tree yang sama.
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/filesBind layanan tersebut ke 127.0.0.1, lalu tempatkan reverse proxy dengan TLS (transport layer security) di depannya. Autentikasi dasar WebDAV mengirimkan password pada setiap request. Karena itu, menggunakan HTTP biasa di sini berarti menyerahkan password berkali-kali dalam satu menit. Biaya migrasi adalah 0 karena file tidak pernah dipindahkan. Konsekuensinya, tidak ada sinkronisasi dan tidak ada salinan offline. Saat koneksi terputus, file tidak tersedia di klien hingga koneksi kembali.
Pengganti kalender, kontak, dan pengeditan dokumen
Meninggalkan Nextcloud membuat Anda kehilangan beberapa fungsi, dan hal ini perlu dijelaskan dengan jelas. Kalender dan kontak menggunakan CalDAV dan CardDAV (sinkronisasi kalender dan kontak melalui HTTP), sedangkan Radicale adalah pengganti yang ringan. Radicale menyimpan setiap koleksi sebagai file di disk dan hanya menggunakan memori dalam hitungan puluhan megabyte.
sudo apt install radicale
sudo systemctl enable --now radicale
sudo ss -lntp | grep 5232Paket ini menyediakan /usr/lib/systemd/system/radicale.service dan konfigurasi default-nya di /etc/radicale/config, serta mendengarkan pada localhost:5232. Radicale tidak menyediakan antarmuka untuk mengedit acara, jadi arahkan klien ponsel atau desktop ke Radicale, lalu lakukan pengeditan dari klien tersebut.
Pengeditan dokumen melalui browser lebih sulit digantikan. OnlyOffice Docs dan Collabora Online sama-sama merupakan mesin pengeditan, bukan penyimpanan. Masing-masing memerlukan aplikasi host yang menyimpan file dan meneruskan dokumen kepadanya. Jika Nextcloud tidak digunakan, Anda memerlukan host lain, seperti Seafile dengan editor SeaDoc-nya sendiri. Perbandingan OnlyOffice dan Collabora membahas mesin yang sebaiknya dijalankan setelah Anda menentukan aplikasi host-nya.
Gunakan Nextcloud jika salah satu kondisi berikut berlaku
- Beberapa orang berbagi satu kalender dan satu buku alamat dengan akun yang sama seperti akun untuk file.
- Anda mengedit dokumen kantor di browser, pada file yang sama, secara bersamaan dengan orang lain.
- Anda memerlukan tautan berbagi per file dengan tanggal kedaluwarsa dan kata sandi, serta izin grup.
- Pengguna Anda bukan pengguna teknis, dan aplikasi seluler adalah aplikasi yang benar-benar mereka gunakan.
Untuk kebutuhan tersebut, tidak ada solusi yang lebih ringan yang dapat menangani semuanya. Tindakan yang tepat adalah memperbaiki instalasi, bukan meninggalkannya. Sebagian besar instance yang lambat menggunakan pool PHP-FPM default tanpa cache memori yang dikonfigurasi. Halaman ikhtisar admin Nextcloud juga memperingatkan bahwa cache tersebut belum tersedia. Mengurangi jumlah file yang dilacak lebih membantu daripada perubahan tunggal lainnya karena tabel cache file adalah komponen yang terus membesar. Instalasi Nextcloud pada VPS dengan Docker, TLS, dan pencadangan menyiapkannya dengan cara yang menghindari sebagian besar masalah ini.
Biaya migrasi sebenarnya, berdasarkan setiap opsi
- Syncthing: tidak ada proses impor. Arahkan Syncthing ke tree yang sudah ada di kedua sisi, lalu biarkan keduanya menyelaraskan isi.
- SFTP atau WebDAV pada tree yang sama: sama sekali tidak ada proses impor karena tidak ada data yang dipindahkan.
- Object storage: satu kali penyalinan penuh melalui jaringan, dapat dilanjutkan jika terhenti dan dapat dibuat dalam skrip; folder kosong tidak ikut dipertahankan.
- Seafile: satu kali pengunggahan penuh ke dalam library karena server menyimpan blok, bukan file.
Apa pun pilihan Anda, buat salinan bersih dari Nextcloud terlebih dahulu. File pengguna berada dalam bentuk biasa di dalam direktori data, satu folder untuk setiap pengguna, sehingga rsync dari tree tersebut menjadi sumber Anda. Aktifkan maintenance mode pada instance sebelum menyalin. Jika tidak, Anda dapat menyalin file yang masih sedang ditulis.
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 -lBandingkan jumlah tersebut dengan find yang sama pada sumber. Kekurangan jumlah biasanya berarti masalah izin menghentikan rsync saat membaca sesuatu, dan proses tersebut mencetak error itu selama berjalan.
Ada dua masalah yang perlu diperhatikan dalam penyalinan tersebut. File yang diakses melalui fitur external storage Nextcloud tidak berada di direktori data karena file tersebut tersimpan pada sistem remote yang telah dikonfigurasi untuk Nextcloud. Jika server-side encryption pernah diaktifkan, file pada disk berupa ciphertext, sehingga occ encryption:decrypt-all harus dijalankan sebelum penyalinan. Jika tidak, Anda akan memindahkan folder yang berisi data yang tidak dapat dibaca. Periksa kedua hal tersebut sebelum membatalkan proses apa pun.
FAQ
Apakah ada alternatif Nextcloud yang mempertahankan struktur folder yang sudah ada?
Syncthing, serta konfigurasi SFTP atau WebDAV biasa. Syncthing mengindeks direktori yang Anda tentukan dan mempertahankan nama serta tata letak yang sama pada setiap perangkat, sehingga tidak ada langkah impor dan tidak perlu mengunggah data. Seafile dan object storage sama-sama memerlukan satu kali proses upload penuh, karena keduanya tidak menyimpan data sebagai file biasa dalam struktur direktori biasa. Seafile memecah file menjadi blok di dalam direktori datanya, sedangkan object storage menggunakan key, bukan direktori.
Apakah Seafile dapat berjalan pada VPS 2 GB?
Dokumentasi Seafile meminta RAM minimal 2 GB dan CPU 2 core dengan kecepatan di atas 2 GHz, per August 2026. Anggap spesifikasi tersebut sebagai batas minimum tanpa ruang cadangan, karena deployment Docker juga menjalankan MariaDB, Caddy, dan editor SeaDoc dalam container masing-masing. Untuk satu pengguna, spesifikasi ini masih memadai. Untuk satu rumah tangga atau tim kecil, gunakan 4 GB, atau keluarkan container SeaDoc dari stack dan lepaskan kemampuan mengedit dokumen di browser.
Mengapa antarmuka web Nextcloud saya lambat ketika download tetap cepat?
Karena kedua jalur tersebut melakukan pekerjaan yang berbeda. Download mengalirkan byte dari disk, sedangkan pemuatan halaman menjalankan PHP, melakukan query ke tabel cache file, dan sering menunggu worker PHP-FPM yang tersedia. Hitung jumlah baris dalam oc_filecache dan periksa pm.max_children pada pool PHP-FPM sebelum menyalahkan storage. Tabel dengan jutaan baris dan pool yang memiliki lima worker akan menghasilkan pola ini.
Apakah saya dapat tetap menggunakan Nextcloud untuk kalender dan hanya memindahkan file?
Ya, dan ini sering menjadi pilihan yang paling hemat. Sinkronkan folder besar dengan Syncthing atau Seafile, lalu tetap jalankan Nextcloud untuk CalDAV, CardDAV, dan pengeditan dokumen melalui browser. Karena database Nextcloud bertambah sesuai jumlah file yang dilacaknya, menghapus tree besar dari Nextcloud akan membuat antarmukanya kembali cepat. Hapus file tersebut melalui antarmuka web atau occ, bukan dari direktori data di disk. Jika tidak, database tetap menyimpan baris yang menunjuk ke file yang sudah tidak ada.