SSD Nodes Learn 🎉 VPS mula $5.50/buwan
Mga Gabay Matt ConnorNi Matt Connor · Na-update 2026-08-13

Mga Alternatibo sa Nextcloud na Sulit i-Self-Host

Piliin ang kapalit ng Nextcloud ayon sa gamit: file sync, mas magaan na server, object storage, o SFTP, kasama ang tunay na gastos ng migration.

Aling mga alternatibo sa Nextcloud ang sulit i-self-host?

Ang mga alternatibo sa Nextcloud na sulit patakbuhin ay yaong nag-aalis ng mga bahagi na hindi mo naman ginagamit. Ang Nextcloud ay file server, calendar, contact book, office suite, at app platform sa loob ng iisang PHP application, kaya binabayaran mo ang lahat ng ito sa bawat page load. Kaya pumili ng kapalit batay sa isang gawaing kailangan mo pa, at suriin kung magkano ang paglilipat ng mga file na mayroon ka na.

Iniaayos ng gabay na ito ang mga option batay sa gawaing iyon: sync lang, sync na may mas mabilis na server, object storage na may client sa ibabaw nito, o simpleng remote file access. Ipinapaliwanag ng bawat seksyon kung ano ang kailangan ng server sa isang maliit na VPS (virtual private server) at kung ano ang mangyayari sa kasalukuyan mong folder tree. Kung mula ka sa Dropbox o Google Drive at hindi sa isang Nextcloud box na pinapatakbo mo na, magsimula sa mas malawak na roundup ng mga self-hosted na alternatibo sa Dropbox sa halip.

Bakit bumabagal ang Nextcloud sa maliit na VPS

May mga tiyak na sanhi ang pagbagal. Kapag alam mo ang mga ito, matutukoy mo kung makatutulong talaga ang paglipat.

Bawat page load ay gumagamit ng isang PHP worker. Tinutukoy ng sariling system requirements ng Nextcloud ang memory bawat process: 128 MB ang minimum at 512 MB ang inirerekomenda, noong August 2026. Hindi ito kabuuang memory ng server. Ang pool na may sampung worker ay malaking bahagi ng memory budget sa isang 2 GB plan. Kaya binababaan ng mga admin ang pm.max_children sa PHP-FPM pool config. Pagkatapos, pumipila ang mga request sa likod ng mga worker na available. Mabagal ang interface kahit idle ang disk.

Lumalaki ang database batay sa bilang ng file, hindi sa laki ng mga byte. Ang file cache table, oc_filecache sa ilalim ng default table prefix, ay may isang row para sa bawat file at folder sa bawat storage na alam ng server. Malaking table ang photo library na may 300,000 maliliit na file. Maliit naman ang table ng 300 GB na video file kung nasa 400 file lamang ang mga ito. Binabasa ng sharing, search, at file scanner ang table na iyon.

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

Mas maipapaliwanag ng bilang na nasa milyon ang mabagal na file list kaysa sa anumang disk benchmark. Kung ibang table prefix ang ginagamit ng instance mo o PostgreSQL ang database, iangkop ang query.

Nakikipagkumpitensya ang background jobs sa web interface. Inirerekomenda ng manual ng Nextcloud ang system cron entry na nagpapatakbo ng cron.php bawat limang minuto. Tumatakbo roon ang preview generation at file scanning, gamit ang CPU na naghahatid din ng mga request mula sa browser.

Ang mga major upgrade ay database migration. Napupunta ang instance sa maintenance mode at sinasagot ang bawat request ng Nextcloud is in maintenance mode, please try again later hanggang matapos ang migration. Sa maliit na VPS na may malaking oc_filecache, sapat ang tagal ng window na ito para mapansin.

Magpasya muna kung ano ang pananatilihin

  • Mag-sync ng isang folder sa pagitan ng mga machine na pagmamay-ari mo, nang walang web interface: Syncthing.
  • Mag-sync para sa maraming tao, na may web interface, mobile client, at share link: Seafile.
  • Mag-imbak ng maraming data nang mura at i-access ito mula sa mga script at backup tool: object storage kasama ang isang client.
  • Magbasa at magsulat ng mga file nang remote nang walang bagong server software: SFTP o WebDAV.
  • Mag-edit ng mga dokumento nang sabay-sabay sa browser, o magbahagi ng calendar sa pagitan ng mga tao: manatili sa Nextcloud, o tanggapin ang pagpapatakbo ng dalawang serbisyo.

Syncthing: pag-sync ng file na walang server application

Pinananatili ng Syncthing ang iyong mga file bilang ordinaryong files. Walang content database at walang web interface na naghahatid ng iyong mga dokumento. Ang bawat device na sumasali sa isang folder ay may buong kopya nito, at pinananatiling magkapareho ng Syncthing ang mga kopya.

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

Ang linyang nagpapakita ng 127.0.0.1:8384 ay nangangahulugang tumatakbo ang web interface at naka-bind lamang sa localhost, na siyang tamang configuration sa isang public VPS. I-access ito gamit ang SSH tunnel: ssh -L 8384:127.0.0.1:8384 you@your-vps, pagkatapos ay buksan ang http://127.0.0.1:8384 sa iyong laptop. Kapag walang listener sa 8384, nabigong magsimula ang service, at ipinapaliwanag ng journalctl -u syncthing@$USER -n 50 kung bakit.

Mga resource. Walang inilalabas na minimum memory figure ang Syncthing. Nakadepende ang ginagamit nitong resources sa bilang ng mga file na ini-index nito, hindi sa kabuuang laki ng mga ito, dahil may isang index entry ito para sa bawat file sa bawat shared folder. CPU-intensive ang unang scan ng malaking folder: hina-hash ng Syncthing ang bawat file bago ito makapaghambing ng anuman. Asahang magtatagal ang unang pass sa isang shared vCPU, at asahang tataas ang memory usage batay sa bilang ng files, hindi sa dami ng gigabytes.

Ang disk ang tunay na gastos. Walang server-side saving dahil hindi server ang Syncthing. Ang isang 200 GB na folder na sini-share sa pagitan ng VPS at laptop ay nangangailangan ng 200 GB sa parehong device. Kabaligtaran ito ng Nextcloud, kung saan nasa server ang lahat at pinipili ng mga client kung ano ang isi-sync. Gumamit ng selective folders at receive only folder sa VPS kung ang VPS ay gagawing backup target sa halip na peer.

Migration ang dahilan para piliin ito. Ituro ang Syncthing sa directory tree na mayroon ka na. Walang import, upload, o conversion. Idagdag ang folder sa VPS, idagdag ito sa laptop gamit ang parehong folder ID, at hayaang mag-converge ang dalawang side. Kung magkaiba ang parehong file sa dalawang side sa unang contact, pananatilihin ng Syncthing ang dalawa at papalitan ang pangalan ng isa bilang filename.sync-conflict-20260809-142530-ABCD123.txt. Normal na makita ang mga file na ito sa unang sync; hindi ito failure.

Mga isinusuko mo. Walang accounts, walang share links na ipapadala sa ibang tao, at walang paraan para i-browse ang iyong mga file mula sa phone browser. Hindi na mina-maintain ng mismong project ang orihinal na Android app, at isang community fork ang nagpapatuloy sa development nito. Mahalaga ito kung mobile access ang pangunahing kailangan. Ang direktang paghahambing ng Syncthing at Nextcloud ay isa-isang tinatalakay ang mga feature gap.

Seafile: mabilis na sync gamit ang mas magaan na server

Hinahati ng Seafile ang gawain sa dalawa. Ang isang Python web application na tinatawag na Seahub ang gumuguhit ng interface, at isang hiwalay na C process ang humahawak ng sync traffic. Hindi dumadaan sa web application ang mga file transfer mo. Kaya nananatiling mabilis ang malaking upload habang may ibang gumagamit ng interface. Inilabas ang Version 13.0 noong 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.yml

I-edit ang .env bago magsimula. Itinatakda nito ang SEAFILE_SERVER_HOSTNAME, INIT_SEAFILE_ADMIN_EMAIL, INIT_SEAFILE_ADMIN_PASSWORD, SEAFILE_MYSQL_DB_PASSWORD at JWT_PRIVATE_KEY. Dapat random string ang mga ito na may hindi bababa sa 32 characters. Sinasabi rin ng file na iyon sa compose kung alin sa mga na-download na YAML file ang babasahin. Dahil dito, gumagana ang apat na download bilang isang stack.

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

Dapat mag-ulat ang bawat container ng running state. Ang container na paulit-ulit na nagre-restart ay halos palaging may value na nawawala sa .env. Tinutukoy ng sudo docker compose logs seafile kung alin iyon.

Mga resource. Ayon sa documentation ng Seafile, kailangan nito ng hindi bababa sa 2 GB ng RAM at 2 core na CPU na lampas sa 2 GHz, noong August 2026. Ituring itong minimum para sa buong stack. Nagsisimula rin ang Docker deployment ng MariaDB, Caddy reverse proxy at SeaDoc editor. Maglaan ng 4 GB kung higit sa isa o dalawang tao ang gagamit nito, o huwag isama ang optional containers.

Ang mahalagang limitasyon sa migration ay ang storage format. Hindi iniimbak ng Seafile ang mga file mo bilang mga file. Hinahati nito ang bawat file sa mga block sa ilalim ng /opt/seafile-data at itinatala ang tree sa database nito. Hindi mo maaaring ituro ang Seafile sa isang existing directory at awtomatikong lumitaw iyon bilang library. Kaya ang paglipat ay nangangailangan ng isang buong upload pass para sa lahat ng file na pagmamay-ari mo. Dahil sa parehong disenyo, hindi mo makukuha ang data gamit ang cp. Dumadaan ang recovery sa server, gamit ang seaf-fsck para sa consistency checks, o sa read-only na seaf-fuse mount.

May native Seafile backend ang rclone. Dahil dito, nagiging isang resumable command ang upload sa halip na mahabang drag-and-drop session.

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

Inililista ng rclone documentation ang Seafile 6.x hanggang 9.x bilang mga bersyong nasubukan. Kaya patakbuhin muna ito sa isang maliit na folder at suriin ang resulta bago maglipat ng isang terabyte.

Mga encrypted library ang feature na madalas na dahilan ng paglipat ng mga user. Itinatakda ang password sa client, at nag-iimbak ang server ng mga block na hindi nito mababasa. May isang mahalagang limitasyon: kapag nag-preview ka ng file mula sa encrypted library sa browser, ipinapadala ang password sa server para sa session na iyon. Kaya hindi maaaring sabay na available ang browser preview at zero-knowledge storage. Sinasaklaw ng Paghahambing ng Seafile at Nextcloud ang iba pang pagkakaiba sa mga feature.

Object storage gamit ang sync client

Kung ang layunin ay makapag-imbak ng maraming byte sa mababang gastos at ma-access ito mula sa mga script, magpatakbo ng S3-compatible object store at ituring na hiwalay na tool ang sync. Makakakuha ka ng durability, versioning, at protocol na sinusuportahan na ng lahat ng backup tool. Hindi ka makakakuha ng user account sa kahulugan ng file server, o ng file manager na madaling gamitin ng kahit sino. Sinasaklaw ng Self-hosted object storage gamit ang MinIO ang server side.

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

rclone check ang nagko-compare sa magkabilang panig batay sa laki at hash, at ipinapakita kung ilang file ang magkaiba. Anumang error count na iba sa zero ay nangangahulugang hindi kumpleto ang copy, kaya patakbuhin muli ang copy bago mo burahin ang source. Dalawang bagay ang dapat asahan: walang directory ang object storage, mga key prefix lamang, kaya hindi nananatili sa copy ang empty folder; at kapag tinaasan ang --transfers kasabay ng S3 chunk size, tumataas ang memory use ng rclone, kaya iwanang nasa default ang dalawang ito sa isang 1 GB VPS.

Plain WebDAV o SFTP kapag remote files lang ang kailangan

Ang pinakamurang kapalit ay kadalasan walang bagong kailangan. Kung nagpapatakbo ang iyong VPS ng OpenSSH, mayroon ka nang file server. Walang dagdag na daemon, database, o PHP na kailangan ang SFTP. Wala ring upgrade na maaaring masira sa isang Linggo.

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

Para sa mga client na gumagamit ng WebDAV, kabilang ang karamihan ng phone file manager, maaaring gamitin ang rclone upang ihatid ang parehong directory tree.

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

I-bind ito sa 127.0.0.1 at maglagay ng reverse proxy na may TLS (transport layer security) sa harap nito. Ipinapadala ng WebDAV basic authentication ang password sa bawat request. Kaya kung plain HTTP ang gagamitin dito, naipapasa ang password nang maraming beses bawat minuto. Zero ang migration cost dahil hindi kailangang ilipat ang mga file. Ang kapalit nito ay walang sync at offline copy: kapag naputol ang koneksyon, hindi ma-access ng client ang mga file hanggang sa bumalik ito.

Ano ang papalit sa calendar, contact, at pag-edit ng dokumento

May kapalit ang pag-alis sa Nextcloud sa bahaging ito, at mahalagang malinaw kung ano iyon. Ang calendar at contact ay gumagamit ng CalDAV at CardDAV (pag-synchronize ng calendar at contact sa HTTP), at ang Radicale ang maliit na kapalit. Iniimbak nito ang bawat collection bilang mga file sa disk at tumatakbo gamit ang sampu-sampung megabyte.

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

Kasama sa package ang /usr/lib/systemd/system/radicale.service at ang default config nito sa /etc/radicale/config, at nakikinig ito sa localhost:5232. Walang interface ang Radicale para mag-edit ng mga event, kaya ituro rito ang phone o desktop client at doon magsagawa ng mga pag-edit.

Mas mahirap palitan ang browser document editing. Ang OnlyOffice Docs at Collabora Online ay parehong editing engine, hindi storage: kailangan ng bawat isa ng host application na nagtatago ng mga file at nagpapasa ng mga dokumento rito. Kapag inalis ang Nextcloud, kailangan mo ng ibang host, gaya ng Seafile na may sarili nitong SeaDoc editor. Saklaw ng Paghahambing ng OnlyOffice at Collabora kung aling engine ang dapat patakbuhin kapag napili mo na kung ano ang magho-host dito.

Manatili sa Nextcloud kung totoo ang alinman sa mga ito

  • Maraming tao ang gumagamit ng iisang calendar at address book, gamit ang parehong account na ginagamit para sa mga file.
  • Nag-e-edit ka ng office documents sa browser, sa iisang file, kasabay ng ibang tao.
  • Kailangan mo ng per-file share links na may expiration date at password, pati group permissions.
  • Hindi technical ang iyong mga user, at ang mobile apps ang aktuwal nilang ginagamit.

Para sa mga gawaing ito, walang mas magaan na solusyon na kayang gawin ang lahat ng ito. Ang tamang hakbang ay ayusin ang install sa halip na iwan ito. Karamihan ng mababagal na instance ay gumagamit ng default PHP-FPM pool na walang naka-configure na memory cache. Nagbababala rin ang admin overview page ng Nextcloud tungkol sa nawawalang cache. Mas nakatutulong ang pagbawas sa bilang ng tracked files kaysa sa iba pang iisang pagbabago, dahil ang file cache table ang patuloy na lumalaki. Isang Nextcloud install sa VPS gamit ang Docker, TLS at backups ang nagse-set up nito sa paraang nakaiiwas sa karamihan ng mga problemang ito.

Ano talaga ang gastos sa migration, depende sa option

  • Syncthing: walang import. Ituro ito sa tree na mayroon ka na sa magkabilang side at hayaan itong mag-converge.
  • SFTP o WebDAV sa parehong tree: walang import, dahil walang inililipat.
  • Object storage: isang buong network copy na maaaring i-resume at i-script, pero hindi nito napapanatili ang mga walang laman na folder.
  • Seafile: isang buong upload sa mga library, dahil blocks at hindi files ang iniimbak ng server.

Anuman ang piliin mo, kumuha muna ng malinis na kopya mula sa Nextcloud. Nasa data directory ang mga user file sa plain form, isang folder bawat user, kaya rsync ng tree na iyon ang source mo. Ilagay muna ang instance sa maintenance mode bago kumopya. Kung hindi, makokopya mo ang mga file habang sinusulatan pa ang mga ito.

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

Ihambing ang bilang na iyon sa parehong find sa source. Karaniwang nangangahulugan ang kakulangan na hindi nabasa ng rsync ang ilang file dahil sa permissions, at ipinapakita nito ang mga error habang nagpapatuloy.

May dalawang dapat bantayan sa copy na iyon. Ang mga file na naa-access sa pamamagitan ng external storage feature ng Nextcloud ay wala sa data directory, dahil nasa remote system ang mga ito na itinuro sa Nextcloud. At kung na-enable dati ang server-side encryption, ciphertext ang mga file sa disk, kaya kailangang patakbuhin ang occ encryption:decrypt-all bago ang copy. Kung hindi, folder ng data na hindi mabasa ang maililipat mo. Suriin muna ang dalawang ito bago magkansela ng anuman.

FAQ

May alternatibo ba sa Nextcloud na nagpapanatili ng dati kong folder structure?

Syncthing, pati ang anumang plain SFTP o WebDAV setup. Ini-index ng Syncthing ang directory na itinuro mo rito at pinananatili ang parehong mga pangalan at layout sa bawat device, kaya walang import step at walang upload. Kailangan ng Seafile at object storage ng isang buong upload pass, dahil wala sa mga ito ang nag-iimbak ng data bilang ordinaryong files sa ordinaryong tree. Hinahati ng Seafile ang mga file sa blocks sa loob ng data directory nito, at keys ang ginagamit ng object storage sa halip na directories.

Tatakbo ba ang Seafile sa isang 2 GB VPS?

Nakasulat sa documentation ng Seafile na kailangan nito ng hindi bababa sa 2 GB RAM at 2 core CPU na higit sa 2 GHz, batay sa impormasyon noong August 2026. Ituring ito bilang minimum na walang headroom, dahil nagpapatakbo rin ang Docker deployment ng MariaDB, Caddy, at SeaDoc editor sa sarili nilang containers. Para sa isang user, workable ito. Para sa isang household o maliit na team, gumamit ng 4 GB, o alisin ang SeaDoc container sa stack at isuko ang document editing sa browser.

Bakit mabagal ang web interface ng Nextcloud ko kahit mabilis pa rin ang downloads?

Dahil magkaiba ang ginagawa ng dalawang path. Nag-i-stream ang download ng bytes mula sa disk, samantalang ang page load ay nagpapatakbo ng PHP, nagku-query sa file cache table, at kadalasang naghihintay ng available na PHP-FPM worker. Bilangin ang mga row sa oc_filecache at suriin ang pm.max_children sa PHP-FPM pool bago sisihin ang storage. Ang table na may milyun-milyong row at pool na may limang worker ay eksaktong nagdudulot ng ganitong pattern.

Maaari ko bang panatilihin ang Nextcloud para sa calendars at ilipat lamang ang files?

Oo, at madalas itong pinakamurang solusyon. I-sync ang malalaking folder gamit ang Syncthing o Seafile, at panatilihing tumatakbo ang Nextcloud para sa CalDAV, CardDAV, at document editing sa browser. Dahil lumalaki ang database ng Nextcloud kasabay ng dami ng files na tina-track nito, ang pag-alis ng malalaking tree mula rito ang nagpapabilis muli sa interface. I-delete ang mga ito sa web interface o gamit ang occ, hindi mula sa data directory sa disk, kung hindi ay mananatili sa database ang mga row na tumuturo sa mga file na wala na.