Language: sw
Syncthing: kusawazisha faili kati ya vifaa bila cloud ya mtu mwingine
Asubuhi unahariri hati kwenye laptop yako kisha unaizima. Jioni unafungua kompyuta ya nyumbani, na toleo jipya tayari lipo. Faili haikupitia Google Drive wala Dropbox: ilipokelewa na node yako ya Syncthing.
Syncthing husawazisha moja kwa moja folda ulizochagua kati ya vifaa vinavyoaminika, huku ukiendelea kudhibiti mahali data inahifadhiwa. Server ya kati si lazima.
Hata hivyo, kompyuta mbili zinapokuwa mtandaoni mara chache kwa wakati mmoja, kubadilishana mabadiliko huwa kugumu. VPS inayowashwa muda wote hutatua tatizo hili: inapokea faili kutoka kifaa kimoja na baadaye kuzipeleka kwenye kingine.
Ni muhimu kuelewa Syncthing imeundwa kwa ajili gani. Si network drive wala file manager wa kwenye browser, bali ni zana ya kunakili kiotomatiki folda ulizochagua.
Syncthing katika hatua tano
Usanidi wa chini kabisa unaonekana hivi:
- Sakinisha Syncthing kwenye kompyuta unazohitaji.
- Endesha instance nyingine ya Syncthing kwenye VPS.
- Fungua dashibodi ya server kupitia SSH tunnel.
- Badilishana vitambulisho vya vifaa na ukubali muunganisho.
- Ongeza folda iliyoshirikiwa, chagua hali ya usawazishaji na washa versioning ya faili.
Syncthing ni nini na inafanyaje kazi?
Syncthing ni programu ya bure yenye source code wazi kwa ajili ya usawazishaji wa faili unaoendelea. Inafanya kazi kwenye Windows, macOS, Linux na mifumo mingine ya desktop na server.
Kila usakinishaji hupokea Device ID ya kipekee, yaani kitambulisho cha kriptografia. Kabla ya nodes mbili kubadilishana data, lazima uziongeze kwenye kifaa cha mwingine na uruhusu waziwazi ufikiaji wa folda fulani. Hakuna akaunti moja ya Syncthing inayohifadhi vifaa na faili zako.
Faili inapobadilika, Syncthing huigawanya katika blocks, hulinganisha checksum na kuhamisha sehemu zinazokosekana tu. Kwa hiyo, marekebisho madogo ndani ya faili kubwa hayahitaji kila mara faili nzima kutumwa tena.
Huduma za discovery husaidia vifaa kutafutana, lakini hazihifadhi faili. Muunganisho wa moja kwa moja usipowezekana, traffic iliyosimbwa inaweza kupita kwenye relay yenye kasi ndogo.
VPS hubadilisha nini?
Bila server, laptop inaweza kusawazisha moja kwa moja na kompyuta ya nyumbani, lakini vifaa vyote viwili lazima viwe mtandaoni kwa wakati mmoja, hata kama ni kwa muda mfupi. VPS hugeuza usanidi huu kuwa kituo cha kubadilishana kinachopatikana kila wakati.
Kwa mfano, laptop yako hupakia project kwenye server asubuhi kisha inazimwa. Jioni, kompyuta ya nyumbani hupakua toleo jipya kutoka VPS.
Syncthing inafaa kwa hati, notes za Obsidian, source code, picha na folda za familia. Caches, node_modules na build outputs ni bora kuziondoa kwa kutumia .stignore. Usisawazishe database zinazofanya kazi na images za mashine pepe.
VPS pia huunda nakala ya data yako nje ya nyumba. Hata hivyo, nakala hiyo huwa backup halisi tu inapounganishwa na versioning pamoja na archive tofauti ya backup: kufutwa kwa bahati mbaya kunaweza kuenea kwenye kila kifaa.
Syncthing au Nextcloud: uchague ipi?
Zana hizi mbili hulinganishwa mara nyingi, ingawa zinatatua matatizo tofauti.
| Kigezo | Syncthing | Nextcloud |
|---|---|---|
| Muundo | Folda zinanakiliwa kati ya vifaa | Faili huhifadhiwa kwenye server ya kati |
| Server inahitajika | Hapana, VPS ni hiari | Ndiyo |
| Kufikia faili kwenye browser | Hapana, si web drive kamili | Ndiyo |
| Viungo vya umma | Hapana | Ndiyo |
| Kuhariri kwa ushirikiano | Hakutolewi | Kunaweza kuongezwa |
| Matumizi bora | Kudumisha folda zilezile kwenye vifaa vyako | Cloud ya binafsi au ya timu |
Chagua Syncthing kwa usawazishaji wa kimya unaoendelea nyuma ya pazia. Chagua Nextcloud unapohitaji ufikiaji wa browser, viungo vya kushiriki, akaunti za watumiaji, kalenda na vipengele vya ushirikiano.
Jinsi ya kusakinisha Syncthing kwenye VPS kwa Docker Compose
Hatua zilizo hapa chini ni za VPS inayoendesha Ubuntu 24.04. Dashibodi itabaki imefungwa kwenye anwani ya ndani ya server, na utaunganishwa nayo kupitia SSH tunnel.
1. Sakinisha Docker
sudo apt update
sudo apt install -y docker.io docker-compose-v2
sudo systemctl enable --now docker2. Unda folda na faili ya Compose
sudo mkdir -p /opt/syncthing/data
sudo chown -R 1000:1000 /opt/syncthing/data
cd /opt/syncthing
sudo nano compose.yamlBandika yafuatayo:
services:
syncthing:
image: syncthing/syncthing:latest
container_name: syncthing
hostname: syncthing-vps
environment:
- PUID=1000
- PGID=1000
- STGUIADDRESS=
volumes:
- ./data:/var/syncthing
network_mode: host
restart: unless-stoppedUsanidi huu hutumia image rasmi ya Syncthing. Hali ya mtandao host hurahisisha miunganisho ya moja kwa moja, huku thamani tupu ya STGUIADDRESS ikiweka dashibodi kwenye 127.0.0.1:8384.
Washa container:
sudo docker compose up -d
sudo docker compose ps3. Ruhusu miunganisho ya usawazishaji
Kwanza ruhusu SSH ili usijifungie nje ya server:
sudo ufw allow OpenSSH
sudo ufw allow 22000/tcp
sudo ufw allow 22000/udp
sudo ufw enable22000/TCP hutumiwa na protocol kuu ya usawazishaji, na 22000/UDP hutumiwa kwa QUIC. Huhitaji kuweka wazi port ya dashibodi 8384. Port ya discovery ya ndani 21027/UDP kwa kawaida si lazima kwenye VPS ya umma.
4. Fungua dashibodi kupitia SSH
Endesha amri hii kwenye kompyuta yako:
ssh -L 9999:127.0.0.1:8384 root@SERVER_IPAcha terminal ikiwa wazi na tembelea:
http://127.0.0.1:9999Baada ya kufungua dashibodi, nenda kwenye Actions → Settings → GUI na weka jina la mtumiaji pamoja na nenosiri. Baadaye ukitaka kufikia dashibodi kupitia domain, iweke nyuma ya HTTPS reverse proxy na uache authentication ikiwa imewashwa.
5. Ongeza vifaa na folda
Sakinisha Syncthing kwenye kompyuta yako, kisha:
- Kwenye kompyuta na VPS, chagua Actions → Show ID.
- Ongeza Device ID ya kila node kwenye kifaa kingine.
- Kwenye kompyuta, bofya Add Folder, chagua folda na ushiriki na server.
- Kwenye VPS, kubali folda na uchague path kama
/var/syncthing/Files.
Kwenye kompyuta, acha Send & Receive ikiwa imewashwa kwa usawazishaji wa pande mbili. Kwenye VPS, Receive Only mara nyingi inafaa: server itaendelea kupokea na kupeleka mabadiliko kati ya nodes, lakini mabadiliko ya bahati mbaya yaliyofanywa moja kwa moja kwenye VPS hayatasambaa kwenye mtandao wote.
Kwa nini Syncthing si mbadala wa backup?
Faili ikifutwa au kusimbwa kwenye kifaa kimoja, mabadiliko hayo yanaweza kusambaa kwenye vingine. Kwa sababu hii, fungua mipangilio ya folda kwenye VPS na uwashe File Versioning.
Chaguo la vitendo ni Staggered File Versioning lenye muda wa kuhifadhi wa siku 30–90. Node ya mbali ikibadilisha au kufuta faili, toleo la awali huhamishwa kwenda .stversions. Nakala za zamani hutumia nafasi ya diski, kwa hiyo weka kikomo cha kuhifadhi.
Usanidi unaotegemeka una tabaka tatu:
- Syncthing hudumisha working copies zilizosasishwa.
- Versioning husaidia kurudisha nyuma baadhi ya makosa.
- Backup nyingine iliyopangwa huhifadhiwa bila kutegemea Syncthing.
Je, VPS inaweza kuhifadhi faili bila kuona yaliyomo?
Syncthing ina hali ya kifaa kisichoaminika. Weka password ya folda kwenye kompyuta kuu na uchague Receive Encrypted kwenye VPS. Server huhifadhi data iliyosimbwa na inaweza kuipeleka kwenye kifaa kingine kinachoaminika kinachotumia password hiyo hiyo.
Yaliyomo, majina ya faili, timestamps na muundo wa folda hufichwa. Taarifa kuhusu folda iliyoshirikiwa na ukubwa wa takriban wa faili hubaki kuonekana.
Watengenezaji bado wanaiona feature hii kuwa ya majaribio. Hifadhi password na Folder ID kando: bila hivyo, huenda isiwezekane kurejesha folda iliyosimbwa.
Syncthing inahitaji VPS ya aina gani?
Matumizi ya rasilimali hayategemei kiasi cha data pekee, bali pia idadi ya faili, mara zinavyobadilika na mchakato wa awali wa indexing. Kwa node binafsi yenye hati na data ya makumi machache ya gigabytes, usanidi wa kuanzia kwa kawaida unatosha:
- 1 vCPU;
- 1 GB RAM;
- hifadhi ya SSD au NVMe;
- nafasi ya kutosha kwa faili na
.stversions; - muunganisho thabiti wa mtandao.
Maktaba kubwa ya picha au mamia ya maelfu ya faili itahitaji rasilimali zaidi. Mzigo mkubwa zaidi kwa kawaida hutokea wakati wa scan ya kwanza na kukokotoa checksum.
Ubuntu VPS ya msingi kutoka tropic.host inafaa kwa kazi hii. Unaweza kuanza na usanidi mdogo na kuongeza rasilimali mkusanyiko wako unapokua. Unapochagua uwezo wa diski, hesabu si folda za sasa pekee, bali pia faili zijazo, data ya muda na historia ya versions.
Makosa matano ya kuepuka
- Kuweka port 8384 wazi kwa Internet yote. Tumia SSH tunnel kwa usanidi. Kwa ufikiaji wa kudumu wa web, tumia HTTPS, password na reverse proxy.
- Kuchukulia nakala ya server kuwa backup kamili. Washa versioning na unda archives tofauti za backup.
- Kusawazisha caches na dependencies. Ondoa folda zisizohitajika kwa kutumia
.stignore. - Kupuuza matumizi ya diski. Folda
.stversionsinaweza kukua sana baada ya muda. - Kuacha kifaa kilichopotea kikiwa kinaaminika. Kiondoe kwenye nodes nyingine na linda configuration ya Syncthing yenye keys za vifaa.
Unachopaswa kujua kuhusu simu mahiri
Programu rasmi ya Android ilisitishwa mwishoni mwa 2024, lakini clients za jamii zinapatikana. Hakuna client rasmi ya iOS pia: vikwazo vya kufanya kazi nyuma ya pazia hufanya usawazishaji unaoendelea kuwa mgumu. Kabla ya kuunganisha maktaba yako kuu ya picha, jaribu app ya simu uliyochagua kwa folda ndogo.
Hitimisho
Syncthing inafaa kwa mtu yeyote anayetaka folda zilezile kwenye vifaa kadhaa bila kutegemea mpatanishi wa lazima wa cloud. VPS hufanya mfumo uwe rahisi zaidi: kompyuta hazihitaji kuwa mtandaoni wakati mmoja, na unapata nakala inayopatikana kila wakati nje ya nyumba.
Kwa usanidi salama, usifungue dashibodi ya usimamizi moja kwa moja, washa versioning na ongeza backup huru kwenye usawazishaji.
FAQ
Je, ninahitaji VPS kwa Syncthing?
Hapana. Vifaa vinaweza kusawazisha moja kwa moja. VPS huwa node inayowashwa muda wote na kuruhusu vifaa kubadilishana mabadiliko kwa nyakati tofauti.
Je, ninaweza kufungua faili za Syncthing kwenye browser?
Dashibodi ya web imekusudiwa kwa usanidi, si kuvinjari hati kama kwenye Google Drive. Nextcloud ni chaguo bora ikiwa unahitaji web drive.
Je, Syncthing ni suluhisho la backup?
Hapana. Kufutwa na kuharibika kwa faili kunaweza kusambaa kwenye vifaa vingine. Versioning husaidia, lakini haichukui nafasi ya backup huru.
Je, ninahitaji kufungua port 8384?
Hapana. Acha dashibodi kwenye 127.0.0.1:8384 na uunganishe kupitia SSH tunnel. Fungua 22000/TCP na 22000/UDP kwa usawazishaji.
Je, mwenye VPS anaweza kusoma faili?
Kwa usanidi wa kawaida, huenda akaweza. Receive Encrypted huhifadhi faili zikiwa zimesimbwa, lakini feature hiyo bado inachukuliwa kuwa ya majaribio na inahitaji password pamoja na Folder ID zihifadhiwe kwa usalama.
