SSD Nodes Learn 🎉 VPS kutoka $5.50/mwezi
Mwongozo Matt ConnorNa Matt Connor · Imeboreshwa 2026-08-13

Seafile dhidi ya Nextcloud: Ipi bora kwa usawazishaji?

Chagua kati ya Seafile na Nextcloud kwa kulinganisha utendaji wao. Seafile hutumia mfumo wa blocks kwa kasi, huku Nextcloud ikitoa programu tumizi nyingi kwenye diski moja.

Seafile dhidi ya Nextcloud: jibu fupi

Ulinganisho kati ya Seafile na Nextcloud unategemea tofauti moja kuu: jinsi faili inavyohifadhiwa ikifika kwenye seva. Seafile hugawanya kila faili katika vizuizi (blocks) na kuvihifadhi kwenye hifadhi ya vitu (object store) ambayo inaweza kusomwa na Seafile pekee, hivyo usawazishaji (sync) huwa wa haraka na chelezo (backup) huwa kazi ya sehemu mbili. Nextcloud huandika faili yako kwenye diski kama faili ya kawaida, na huchukulia usawazishaji kama kipengele kimoja tu cha mfumo ambao pia huendesha kalenda, anwani, nyaraka na viungo vya kushiriki (share links). Amua kulingana na tofauti hiyo, kwa sababu mambo mengine yote hutokana na msingi huo.

Kufikia Agosti 2026, Seafile iko kwenye toleo la 13.0 na Nextcloud kwenye toleo la 34. Zote mbili zimekomaa, na hakuna inayotarajiwa kubadili mfumo wake wa kuhifadhi data.

Jinsi Seafile inavyohifadhi faili zako

Seafile huunda maktaba (library) kwa namna ile ile ambayo git huunda hazina (repository). Mwongozo wa msimamizi unaelezea muundo wa ndani kama Repo, Commit, FS, na Block, na kubainisha kuwa repo pia huitwa maktaba. Kila faili hugawanywa katika vizuizi (blocks) vya urefu tofauti kupitia mbinu ya content defined chunking (CDC, algoriti inayochagua mipaka ya vizuizi kutoka kwenye data yenyewe), na mwongozo huo unataja wastani wa ukubwa wa kizuizi kuwa takriban 8 MB. Vizuizi hupewa majina kulingana na yaliyomo ndani yake, hivyo matoleo mawili ya faili moja kubwa hushiriki kila kizuizi ambacho hakikubadilika, na maktaba mbili pia hushiriki vizuizi vinavyofanana.

Hifadhidata ya uhusiano (relational database) huhifadhi kiasi kidogo tu cha metadata kuhusu maktaba hizo. Kila kitu kingine, yaani commits, vitu vya saraka (directory objects), na vizuizi, hukaa chini ya saraka ya data. Katika mpangilio wa Docker unaotumiwa na mfululizo wa 12 na 13, hiyo ni /opt/seafile-data/seafile/seafile-data. Kuendesha ls hapo hakukupi taarifa yoyote muhimu, kwa sababu utaona saraka zilizojaa majina ya hash, si Invoices/2026/march.pdf.

Usawazishaji (sync) hufuata muundo ule ule. Mteja (client) huiuliza seva ni nini kimebadilika, hupokea orodha ya hash za vizuizi, na huchota tu vizuizi ambavyo haijawa navyo tayari. Hii ndiyo sababu Seafile inafanya kazi vizuri kwenye maktaba kubwa: baiti zinazohamishwa ni sawia na vizuizi vilivyobadilika, si saizi ya faili inayovibeba.

Jinsi Nextcloud inavyohifadhi faili zako

Nextcloud huweka faili kwenye diski mahali unapotarajia. Njia ya data/<username>/files/ inaakisi kile mtumiaji anachokiona kwenye kiolesura cha wavuti. Jedwali la database, oc_filecache, linaakisi muundo huo huo wa faili pamoja na ukubwa, nyakati za marekebisho na etags, na Nextcloud huiamini jedwali hilo badala ya diski.

Mteja wa desktop hutumia WebDAV (web distributed authoring and versioning) kupitia HTTPS. Kila faili inagharimu angalau ombi moja, ndiyo maana Nextcloud iliongeza API ya kupakia kwa wingi (bulk upload API): mwongozo wa msanidi programu unaeleza kuwa kupakia faili nyingi ndogo ni polepole kuliko inavyopaswa kuwa kwa sababu bandwidth ya mtandao haitumiki kikamilifu, hivyo faili ndogo hufungashwa pamoja. Faili kubwa hupitia API ya chunking badala yake, na ukubwa wa chunk chaguo-msingi wa mteja wa desktop ni 5 MiB (OWNCLOUD_CHUNK_SIZE chaguo-msingi ni 5242880 bytes).

Faida ya kuwa na faili kwenye diski ni kwamba kila zana unayomiliki tayari inaweza kusoma data zako. Gharama yake ni kwamba Nextcloud haioni mabadiliko yaliyofanywa bila idhini yake. Nakili faili moja kwa moja kwenye saraka ya data na zitabaki kutokuonekana kwenye kiolesura cha wavuti hadi utakapofanya scan:

sudo -E -u www-data php occ files:scan --all -vv

Mwongozo wa msimamizi unataja visa hivi hasa kwa ajili ya rescan: baada ya kunakili faili moja kwa moja kwenye saraka ya data, baada ya uhamiaji (migration), na unapochunguza kutofautiana kwa cache ya faili.

Ni ipi inayosawazisha maktaba kubwa kwa haraka zaidi?

Seafile, katika visa viwili vinavyoleta changamoto: maelfu ya faili ndogo, na marekebisho ya mara kwa mara kwenye faili kubwa. Mbinu inayotumika ni block level deduplication, kwa hivyo image ya diski ya 4 GB ambayo sehemu yake ya kati imebadilika hupakiwa kama blocks chache tu. Nextcloud hupunguza pengo la faili ndogo kwa kutumia bulk upload, lakini haiwezi kuziba pengo la faili kubwa, kwa sababu kitengo chake cha uhamishaji ni faili nzima.

Usikubali neno langu kuhusu ukubwa wa pengo hilo, na usikubali pia benchmark ya muuzaji. Jenga maktaba inayofanana na yako na uipime muda:

mkdir -p ~/synctest && cd ~/synctest
for i in $(seq 1 20000); do head -c 4096 /dev/urandom > "file_$i.bin"; done
du -sh ~/synctest

Weka saraka hiyo kwenye folda inayosawazishwa katika kila seva na ufuatilie mteja anapomaliza. Uaminifu ni muhimu kama kasi. Mteja wa Seafile hupakia blocks kwanza na kuandika commit inayozirejelea mwishoni, kwa hivyo upakiaji uliokatizwa huacha maktaba kwenye commit yake ya awali badala ya mti uliyoandikwa nusu.

Mahitaji ya kila huduma kwenye VPS ndogo

Nyaraka za Seafile zinahitaji "angalau 2G ya RAM na CPU ya core 2 (> 2GHz)". Nextcloud huandika kumbukumbu kwa kila mchakato wa PHP badala yake: kiwango cha chini cha 128 MB na 512 MB kinachopendekezwa kwa kila mchakato, ambacho unazidisha kwa idadi ya wafanyakazi (workers) kabla ya kuongeza database, cache, na utengenezaji wa preview. Chini ni sehemu za kuanzia ambazo ningetumia kwa timu ndogo. Hizi ni sehemu za kuanzia, si vipimo kamili.

ChartStarting point for about five users, and SQL databases per stack
The data behind this chart
[
  {
    "label": "Seafile CE 13",
    "start_ram_gb": 4,
    "start_cpu_cores": 2,
    "sql_databases": 3
  },
  {
    "label": "Nextcloud 34",
    "start_ram_gb": 4,
    "start_cpu_cores": 2,
    "sql_databases": 1
  },
  {
    "label": "Syncthing 2",
    "start_ram_gb": 1,
    "start_cpu_cores": 1,
    "sql_databases": 0
  }
]

Zote mbili ziko katika daraja moja, 4 GB ya RAM na 2 cores, kwa hivyo ukubwa wa matumizi ya rasilimali hauwezi kutumika kama kigezo cha kuchagua kati yao. Syncthing huendeshwa kwa 1 GB kwenye 1 core, ambayo ndiyo sababu ya kweli ya kuizingatia. Vipengele vinavyofanya kazi vinatofautiana zaidi kuliko kumbukumbu. Seafile hutumia 3 SQL databases ambapo Nextcloud hutumia 1, na usakinishaji wa kawaida wa Seafile Docker huleta seva, MariaDB, Memcached, SeaDoc na Caddy kutoka kwenye faili unazopakua kwanza:

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

Katika .env weka SEAFILE_SERVER_HOSTNAME, nywila za MySQL root na database, akaunti ya awali ya admin, na JWT_PRIVATE_KEY. Mwongozo unahitaji mfuatano wa herufi nasibu usiopungua 32 kwa ajili ya ufunguo huo, na husomwa wakati wa kuanza kwa mara ya kwanza, kwa hivyo uunde kabla ya kuanzisha stack:

openssl rand -base64 40
docker compose up -d

Kuanza kwa mara ya kwanza hutengeneza database tatu na mtumiaji wa admin. Maamuzi yanayolingana ya Nextcloud, ikiwemo TLS na reverse proxy, yamefafanuliwa katika mwongozo wa Nextcloud kwenye VPS ukiwa na Docker, TLS na backups.

Jinsi backups zinavyotofautiana

Huu ndio mhimili ambao watu huudharau, na hapa ndipo bidhaa hizi mbili zinapotofautiana zaidi.

Kwa Seafile, mpangilio si wa hiari. Kanuni ya mwongozo ni kufanya backup ya SQL kwanza na saraka ya data baadaye, kwa sababu kwa kufanya hivyo kila rekodi kwenye database inakuwa na kitu halali cha kurejelea, hivyo maktaba haziharibiki. Ukibadilisha mpangilio huo, safu ya database inaweza kuelekeza kwenye block ambayo snapshot yako haikunasa.

docker exec -i seafile-mysql mariadb-dump -uroot -p"$MYSQL_ROOT_PASSWORD" --opt ccnet_db > ccnet_db.sql
docker exec -i seafile-mysql mariadb-dump -uroot -p"$MYSQL_ROOT_PASSWORD" --opt seafile_db > seafile_db.sql
docker exec -i seafile-mysql mariadb-dump -uroot -p"$MYSQL_ROOT_PASSWORD" --opt seahub_db > seahub_db.sql
rsync -az /opt/seafile-data/seafile /backup/data/

Kuna maelezo mawili katika mistari hiyo. Tumia mariadb-dump, kwa sababu mfululizo wa amri za mysql umepitwa na wakati katika image ya MariaDB inayokuja na Seafile. Ondoa flag ya -t kutoka docker exec unapoelekeza matokeo kwenye faili, kwa sababu TTY hubadilisha mwisho wa mistari na kuharibu dump.

Sehemu hizo mbili hunaswa kando, hivyo zinaweza kutofautiana. Baada ya restore yoyote, kagua hifadhi kabla ya kuiamini:

docker exec -it seafile bash
cd /opt/seafile/seafile-server-latest
./seaf-fsck.sh

Kitu kinapokosekana, zana hiyo hutaja kitu chenyewe:

Block 650fb22495b0b199cff0f1e1ebf036e548fcb95a is missing.
Repo ca1a860d HEAD commit is corrupted, need to restore to an old version.

Panga pia kwa ajili ya garbage collection. Deduplication inamaanisha faili zilizofutwa na maktaba zilizofutwa huendelea kuhifadhi blocks zao hadi utakapokimbiza ./seaf-gc.sh kutoka saraka hiyo hiyo, na uendeshaji huo huripoti kile ulichokipata, kama vile GC finished. 507 blocks total, about 507 reachable blocks, 0 blocks can be removed.. Ikiwa utairuka kwa mwaka mzima, backups zako zitaendelea kulipia data ambayo watumiaji wako wameifuta.

Nextcloud ina tatizo hilo hilo la sehemu mbili katika umbo tofauti, kwa sababu saraka ya data na database lazima zieleze mti mmoja:

sudo -E -u www-data php occ maintenance:mode --on
rsync -Aavx /srv/nextcloud/ /backup/nextcloud-dirbkp/
mariadb-dump --single-transaction --default-character-set=utf8mb4 -u nextcloud -p"$DB_PASS" nextcloud > /backup/nextcloud-sqlbkp.bak
sudo -E -u www-data php occ maintenance:mode --off

Hifadhi folda ya config, folda ya data, programu zozote maalum na theme yako, pamoja na dump hiyo. Fanya restore ya sehemu zote mbili kutoka wakati mmoja. Ikiwa saraka ya data ni mpya kuliko database, watumiaji huona faili ambazo cache ya faili haizijui, na occ files:scan --all huirekebisha. Ikiwa database ni mpya, safu za cache huelekeza kwenye faili ambazo hazipo, na occ files:cleanup huondoa entries za cache ambazo hazina entry inayolingana kwenye jedwali la hifadhi.

Vyovyote vile, unahitaji programu ya backup inayoweza kushughulikia faili nyingi ndogo na kuhifadhi historia, jambo ambalo ndilo restic na BorgBackup hufanya kwa njia tofauti.

Wateja wa desktop na simu

Seafile inatoa programu mbili za desktop. Mteja wa kusawazisha (syncing client) huweka nakala ya ndani ya maktaba unazochagua. Mteja wa Drive (SeaDrive) huweka maktaba zako kama diski pepe na kupakua faili unapozihitaji: kwenye Windows hutumia API ya cloud files ya Microsoft, kwenye macOS toleo la 3.0 ni kiendelezi cha Finder, na kwenye Linux inatolewa kama AppImage kuanzia toleo la 3.0.12 na huwekwa kwenye ~/SeaDrive. Maktaba zilizosimbwa (encrypted) hufanya kazi kwenye mifumo yote mitatu ya desktop. Programu za simu zipo kwa ajili ya kufikia faili, na hilo ndilo lengo lao kuu.

Mteja wa desktop wa Nextcloud pia hutoa faili pepe, na programu zake za simu hubeba jukwaa zima, hivyo kalenda, anwani, Talk na madokezo hupatikana pamoja na ufikiaji wa faili. Ikiwa watumiaji wako hutumia simu sana na wanataka zaidi ya faili tu, hiyo ni tofauti kubwa katika matumizi ya kila siku.

Maelezo moja ya Seafile yanahitaji kupangwa: maktaba ndiyo kitengo cha kushiriki, kusawazisha, ruhusa na usimbaji. Amua mpangilio wa maktaba yako kabla ya kupakia GB 500 kwenye maktaba moja, kwa sababu kuhamisha faili kati ya maktaba ni kitendo cha kunakili na kufuta, si kubadili jina, hivyo historia ya faili haihami nayo.

Usimbaji fiche: kile ambacho kila mbinu hulinda kwa hakika

Maktaba zilizosimbwa fiche za Seafile hufanya kazi upande wa mteja (client-side). Nenosiri halihifadhiwi kamwe kwenye seva. Tokeni maalum inayotokana na nenosiri na kitambulisho cha maktaba (library id) huhifadhiwa pamoja na maktaba hiyo, ili mteja aweze kuhakiki nenosiri kabla ya kusawazisha (sync). Ufunguo wa faili (file key) husimbwa kwa kutumia ufunguo na IV (initialisation vector) inayotokana na nenosiri lako kwa kutumia AES 256/CBC, na data ya faili husimbwa kwa kutumia ufunguo huo wa faili.

Soma vikwazo vilivyoandikwa, kwa sababu watu huvikosa. Maktaba iliyosimbwa fiche hulinda maudhui ya faili pekee. Majina ya folda na faili hayasimbwi, na wala ukubwa wa faili au historia ya kuhariri (edit history). Kuvinjari maktaba iliyosimbwa fiche kupitia kivinjari cha wavuti si "end-to-end": unaingiza nenosiri, seva inalitumia kufungua ufunguo wa faili, na huhifadhi nenosiri hilo kwenye kumbukumbu (memory) kwa saa moja. Mwongozo pia unaeleza wazi kuwa maktaba iliyosimbwa fiche haihakikishi uadilifu (integrity), kwa sababu msimamizi wa seva anaweza kubadilisha sehemu ya maudhui ya faili na mteja hawezi kugundua hilo.

Nextcloud ina vipengele viwili vyenye majina yanayofanana kwa njia inayochanganya. Usimbaji fiche wa upande wa seva (server-side encryption) husimba faili zilizohifadhiwa (at rest) lakini huweka funguo kwenye seva hiyo hiyo, hivyo hulinda data iliyo kwenye hifadhi ya nje (external storage) vizuri zaidi kuliko kukulinda dhidi ya mtu mwenye ufikiaji wa root kwenye seva hiyo. Programu ya usimbaji fiche wa "end-to-end" husimba folda zilizochaguliwa upande wa mteja, na kwa usanifu wake, seva haiwezi kuzisoma, hivyo kiolesura cha wavuti, utafutaji wa upande wa seva, na hakikisho (previews) haviwezi kuona ndani ya folda hizo pia.

Hakuna bidhaa kati ya hizi inayochukua nafasi ya nakala rudufu (backup) iliyosimbwa fiche. Simba nakala rudufu yako kivyake.

Kalenda, anwani, ofisi na jukwaa la programu

Mhimili huu haujakamilika. Nextcloud inakuja na CalDAV (kalenda kupitia WebDAV) na CardDAV (anwani kupitia WebDAV) katika mfumo wake mkuu, inaunganisha Collabora au OnlyOffice kwa ajili ya nyaraka, na ina duka la programu kwa kila kitu kingine. Seafile 13 inakuja na SeaDoc kwa ajili ya nyaraka za ushirikiano na kurasa za wiki, na inaishia hapo. Hakuna kalenda wala kitabu cha anwani.

Jukwaa hili lina gharama, na gharama hiyo ni maboresho (upgrades). Kila programu unayoisakinisha ni kitu kingine kinachoweza kuzuia uboreshaji wa Nextcloud au kufanya kazi vibaya baada ya uboreshaji huo, kwa hivyo kadiri watumiaji wako wanavyotegemea vitu vingi, ndivyo dirisha lako la uboreshaji linavyohitaji umakini zaidi. Seafile ina vitu vichache vya kuharibika kwa sababu inafanya kazi chache. Kumbuka pia kuwa Seafile Professional, siyo Community Edition, ndiyo inayoongeza utafutaji wa maandishi ndani ya nyaraka na ruhusa za kiwango cha folda chini ya leseni ya kulipia, kwa hivyo thibitisha kuwa kipengele unachotegemea kipo katika toleo unalopanga kuliendesha.

Njia za kushindwa ambazo kila moja inajulikana kwazo

Seafile hushindwa wakati database na object store zinapopishana. Utaona maktaba ambayo haifunguki, au faili zinazopotea, na seaf-fsck.sh huchapisha block inayokosekana. Hakuna mti wa faili (file tree) wa kurekebisha kwa mkono, kwa hivyo urejeshaji unategemea database dump yako pamoja na object store yako, zilizorejeshwa kwa mpangilio sahihi. Jaribu urejeshaji huo kwenye VPS ya ziada mara moja, kwa sababu backup ambayo hujawahi kuirejesha ni kubahatisha tu.

Nextcloud hushindwa wakati file cache na diski zinapokinzana, kwa kawaida kwa sababu kitu fulani kimeandika kwenye saraka ya data bila kuitaarifu Nextcloud. Utaona faili kwenye diski ambayo kiolesura cha wavuti hakiorodheshi, au folda ambayo ukubwa wake si sahihi, na occ files:scan ndiyo suluhisho. Pointi zake nyingine mbili za udhaifu ni kasi ya itifaki kwenye faili nyingi ndogo, ambayo hakuna kiasi chochote cha CPU kinachoweza kurekebisha, na kumbukumbu ya PHP: previews za picha kubwa na video ndizo husababisha ongezeko la ghafla la matumizi ya kumbukumbu, kwa hivyo tenga 512 MB kwa kila mchakato na utengeneze previews hizo kupitia kazi iliyopangwa (scheduled job) badala ya kuzitengeneza wakati wa maombi ya watumiaji.

Hapana kati ya hayo: Syncthing, ikiwa unataka kusawazisha faili pekee

Ikiwa hitaji lako halisi ni folda moja inayofananishwa kati ya mashine mbili, bidhaa zote mbili ni programu kubwa kuliko unayohitaji. Syncthing haina seva na haina akaunti. Kila kifaa ni peer, na VPS inakuwa peer inayobaki imewashwa wakati laptop yako imelala. Syncthing 2 ndiyo toleo la sasa, na vifurushi vinatoka kwenye hazina ya mradi wenyewe:

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

Iendeshe kama mtumiaji wa kawaida, kamwe usiiendeshe kama root, ili faili inazoandika ziwe na umiliki sahihi:

sudo systemctl enable --now syncthing@youruser
systemctl status syncthing@youruser

Kiolesura cha wavuti hufungwa kwenye 127.0.0.1:8384 kwa chaguomsingi, kwa hivyo hakiwezi kufikiwa kutoka kwenye Internet, jambo ambalo ni chaguomsingi sahihi. Kifikie kupitia SSH tunnel kutoka kwenye laptop yako:

ssh -L 8384:127.0.0.1:8384 youruser@your-server

Kisha fungua http://127.0.0.1:8384 kwenye laptop. Sync yenyewe hutumia port 22000 kupitia TCP na QUIC, na ugunduzi wa ndani (local discovery) hutumia UDP 21027, ambayo haifanyi kazi kwenye Internet. Kwenye VPS, fungua 22000 na uache kiolesura kikiwa kimefungwa:

sudo ufw allow 22000/tcp
sudo ufw allow 22000/udp

Unachokosa ni kila kipengele cha seva: hakuna viungo vya kushiriki (share links) kwa watu ambao hawatumii Syncthing, hakuna kivinjari cha faili cha wavuti, hakuna akaunti za watumiaji, na hakuna pipa la takataka (trash) la upande wa seva isipokuwa uwezeshe file versioning kwa kila folda. Mshangao wa kawaida ni faili la mgongano (conflict file). Hariri faili moja kwenye vifaa viwili wakati haviwezi kuonana, na utapata faili pacha lenye jina kama notes.sync-conflict-20260806-142233-ABCD1EF.md. Hakuna kinachokuonya, kwa hivyo tafuta sync-conflict mara kwa mara.

Ikiwa unachotaka si folda iliyosawazishwa bali ni hifadhi (bucket) ambayo programu huandikia, hicho ni chombo kingine tofauti: angalia self-hosted S3 compatible object storage. Kwa nyanja pana zaidi, the roundup of self-hosted Dropbox alternatives inashughulikia yale ambayo hayakujumuishwa kwenye kulinganisha huku.

Kanuni ya uamuzi

  1. Chagua Seafile ikiwa kazi yako ni kusawazisha (sync) kwa ukubwa: faili nyingi, faili kubwa, vifaa kadhaa, na unakubali hifadhi ya data ambayo Seafile pekee ndiyo inaweza kuisoma.
  2. Chagua Nextcloud ikiwa kazi yako ni jukwaa: kalenda, anwani, nyaraka na viungo vya kushiriki (share links), huku faili zikiwa katika hali ya kawaida kwenye diski ambazo zana yoyote ya kuhifadhi nakala (backup) inaweza kuzisoma.
  3. Chagua Syncthing ikiwa kazi yako ni folda iliyoakisiwa (mirrored folder) na hakuna kingine.

Chagua kwa uangalifu sasa, kwa sababu kuhama kati ya Seafile na Nextcloud ndiko kunakofunga uwezo wako wa kubadilisha (lock in). Hakuna kigeuzi. Unalazimika kusawazisha kila kitu kwenye kifaa cha mteja (client), ukipakie kwenye seva nyingine, na utalipa kwa gharama ya bandwidth na muda huku historia ya matoleo (version history) na viungo vya kushiriki vikipotea. Kupanga chaguo la leo kwa ajili ya miaka mitatu ijayo ni nafuu zaidi kuliko kuhama katika mwaka wa pili.

FAQ

Je, Seafile ni haraka kuliko Nextcloud katika kusawazisha maktaba kubwa?

Ndiyo, katika hali mbili ambazo kwa kawaida huleta changamoto, na kwa sababu unayoweza kuithibitisha. Seafile hugawanya faili katika vizuizi (blocks) vyenye wastani wa 8 MB na huhamisha tu vizuizi vilivyobadilika, kwa hivyo marekebisho ndani ya faili kubwa huhamisha vizuizi vichache tu. Kitengo cha uhamisho cha Nextcloud ni faili zima, kwa hivyo marekebisho hayo hayo husababisha kupakia upya faili zima, na faili nyingi ndogo kila moja huhitaji angalau ombi moja la WebDAV, ndiyo maana API yake ya bulk upload huunganisha faili ndogo pamoja. Pima muda wa zote mbili kwenye VPS yako kabla ya kuamua, kwa sababu CPU, diski na muunganisho wako wa mtandao ni muhimu kama ilivyo itifaki yenyewe.

Je, ninaweza kuhifadhi nakala (backup) ya Seafile kwa kuendesha rsync kwenye saraka ya data?

Pamoja na hifadhidata pekee, na kwa kufuata utaratibu uliowekwa kwenye nyaraka. Mwongozo wa Seafile unasema uhifadhi nakala ya SQL kwanza na saraka ya data baadaye, kwa sababu kila rekodi ya hifadhidata itarejelea kitu (object) kilichopo kwenye nakala hiyo. Amri ya rsync -az /opt/seafile-data/seafile /backup/data/ hunakili conf, seafile-data na seahub-data, lakini yenyewe pekee haiwezi kurejeshwa (restorable), kwa sababu hifadhi ya vitu (object store) haina muundo wa faili unaosomeka na hifadhidata ndiyo faharasa yake. Baada ya kurejesha sehemu zote mbili, endesha seaf-fsck.sh na usome matokeo yake kabla ya kuamini matokeo hayo.

Je, ninahitaji Nextcloud ikiwa ninataka tu kusawazisha faili?

Hapana. Nextcloud ni jukwaa, na kalenda, anwani na duka la programu (app store) hugharimu kumbukumbu (RAM) na uangalizi wa masasisho iwe unazitumia au la. Kwa usawazishaji wa faili pekee, Seafile ni bidhaa nyepesi yenye itifaki ya haraka zaidi, na Syncthing ni nyepesi zaidi kwa sababu haina upande wa seva wa kuendesha. Chagua Nextcloud unapotaka programu za ziada, si kama chaguo la kawaida.

Je, maktaba ya Seafile iliyosimbwa kwa njia fiche (encrypted) huficha majina ya faili zangu?

Hapana. Maktaba iliyosimbwa husimba yaliyomo kwenye faili upande wa mteja (client) na nenosiri halifikii seva kamwe, lakini majina ya folda, majina ya faili, ukubwa wa faili na historia ya marekebisho yote hubaki yakionekana kwenye seva. Kufungua maktaba iliyosimbwa kwenye kiolesura cha wavuti pia hutuma nenosiri kwenye seva, ambayo husimbua ufunguo wa faili na kuhifadhi nenosiri kwenye kumbukumbu kwa saa moja. Ikiwa majina yenyewe ni ya siri, weka maktaba hiyo nje ya kiolesura cha wavuti na usimbe kwa njia nyingine.

Je, ni kiasi gani cha RAM ninapaswa kutoa kwa Seafile au Nextcloud kwenye VPS?

Anza na 4 GB pamoja na 2 cores kwa yoyote kati ya hizo kwa watumiaji wachache, kisha fuatilia kumbukumbu wakati wa utengenezaji wa hakikisho (preview) na utafutaji. Nyaraka za Seafile zenyewe huweka kiwango cha chini cha 2 GB ya RAM na CPU ya core 2 inayozidi 2 GHz. Nextcloud inapendekeza 512 MB kwa kila mchakato wa PHP, ambayo unaizidisha kwa idadi ya wafanyakazi (worker count) kabla ya kuongeza hifadhidata na cache. Syncthing huendesha vizuri katika 1 GB.