Tropic Host

Syncthing․ ինչ է դա և ինչպես կարգավորել ֆայլերի համաժամացումը VPS-ում

1 րոպե կարդալ
Tropic
Syncthing․ ինչ է դա և ինչպես կարգավորել ֆայլերի համաժամացումը VPS-ում

Language: hy

Syncthing․ ֆայլերի համաժամացում սարքերի միջև՝ առանց ուրիշի ամպի

Առավոտյան նոութբուքում խմբագրում եք փաստաթուղթը և անջատում համակարգիչը։ Երեկոյան բացում եք տան համակարգիչը, և վերջին տարբերակն արդեն այնտեղ է։ Ֆայլը երբեք չի անցել Google Drive-ով կամ Dropbox-ով․ այն ստացել է ձեր սեփական Syncthing հանգույցը։

Syncthing-ը վստահելի սարքերի միջև ուղղակի համաժամացնում է ընտրված պանակները, իսկ դուք վերահսկում եք, թե որտեղ են պահվում տվյալները։ Կենտրոնական սերվերը պարտադիր չէ։

Սակայն եթե երկու համակարգիչները հազվադեպ են միաժամանակ առցանց, փոփոխությունների փոխանակումը բարդանում է։ Մշտապես միացված VPS-ը լուծում է այս խնդիրը․ այն մի սարքից ստանում է ֆայլերը, իսկ հետո փոխանցում մյուսին։

Կարևոր է հասկանալ, թե ինչի համար է նախատեսված Syncthing-ը։ Այն ցանցային սկավառակ կամ բրաուզերով աշխատող ֆայլերի կառավարիչ չէ, այլ ընտրված պանակների ավտոմատ կրկնօրինակման գործիք։

Syncthing-ը հինգ քայլով

Նվազագույն կարգավորումը հետևյալն է․

  1. Տեղադրեք Syncthing-ը անհրաժեշտ համակարգիչների վրա։
  2. VPS-ի վրա գործարկեք Syncthing-ի ևս մեկ օրինակ։
  3. SSH թունելի միջոցով բացեք սերվերի վահանակը։
  4. Փոխանակեք սարքերի նույնացուցիչները և հաստատեք կապը։
  5. Ավելացրեք ընդհանուր պանակ, ընտրեք համաժամացման ռեժիմ և միացրեք ֆայլերի տարբերակավորումը։

Ի՞նչ է Syncthing-ը և ինչպես է այն աշխատում

Syncthing-ը շարունակական ֆայլերի համաժամացման անվճար, բաց կոդով ծրագիր է։ Այն աշխատում է Windows-ում, macOS-ում, Linux-ում և աշխատասեղանի ու սերվերային այլ օպերացիոն համակարգերում։

Յուրաքանչյուր տեղադրում ստանում է եզակի Device ID՝ գաղտնագրական նույնացուցիչ։ Մինչև երկու հանգույցները կարողանան փոխանակել տվյալներ, պետք է դրանք ավելացնել միմյանց մեջ և բացահայտորեն թույլատրել մուտքը կոնկրետ պանակի համար։ Չկա մեկ միասնական Syncthing հաշիվ, որտեղ պահվում են ձեր սարքերն ու ֆայլերը։

Երբ ֆայլը փոխվում է, Syncthing-ը այն բաժանում է բլոկների, համեմատում checksum-ները և փոխանցում միայն բացակայող մասերը։ Դրա շնորհիվ մեծ ֆայլի փոքր փոփոխությունը միշտ չէ, որ պահանջում է ամբողջ ֆայլը կրկին ուղարկել։

Հայտնաբերման ծառայությունները օգնում են սարքերին գտնել միմյանց, բայց ֆայլեր չեն պահում։ Եթե ուղղակի կապը հնարավոր չէ, գաղտնագրված տրաֆիկը կարող է անցնել ավելի դանդաղ relay-ով։

Ի՞նչ է փոխում VPS-ը

Առանց սերվերի նոութբուքը կարող է ուղղակի համաժամացվել տան համակարգչի հետ, բայց երկու սարքերը պետք է միաժամանակ առցանց լինեն, թեկուզ կարճ ժամանակով։ VPS-ը կարգավորումը վերածում է միշտ հասանելի փոխանակման կետի։

Օրինակ՝ առավոտյան նոութբուքը նախագիծը վերբեռնում է սերվեր, ապա անջատվում։ Երեկոյան տան համակարգիչը նոր տարբերակը ներբեռնում է VPS-ից։

Syncthing-ը լավ է աշխատում փաստաթղթերի, Obsidian-ի նշումների, սկզբնական կոդի, լուսանկարների և ընտանեկան պանակների հետ։ Cache-երը, node_modules-ը և build-ի արդյունքները ավելի լավ է բացառել .stignore-ի միջոցով։ Ակտիվ տվյալների բազաներն ու վիրտուալ մեքենաների պատկերները չպետք է համաժամացվեն։

VPS-ը նաև ստեղծում է ձեր տվյալների պատճենը տնից դուրս։ Սակայն այդ պատճենը լիարժեք պահուստային պատճեն է դառնում միայն տարբերակավորման և առանձին պահուստային արխիվի հետ միասին․ պատահական ջնջումը կարող է տարածվել բոլոր սարքերի վրա։

Syncthing, թե՞ Nextcloud․ որն ընտրել

Այս երկու գործիքները հաճախ համեմատում են, թեև դրանք լուծում են տարբեր խնդիրներ։

ՉափանիշSyncthingNextcloud
ՄոդելՊանակները պատճենվում են սարքերի միջևՖայլերը պահվում են կենտրոնական սերվերում
Սերվերը պարտադի՞ր էՈչ, VPS-ը կամընտիր էԱյո
Բրաուզերով ֆայլերի հասանելիությունԼիարժեք վեբ սկավառակ չկաԱյո
Հանրային հղումներՈչԱյո
Համատեղ խմբագրումՉի տրամադրվումԿարելի է ավելացնել
Լավագույն կիրառումըՆույն պանակների պահպանումը ձեր սեփական սարքերումԱնձնական կամ թիմային ամպ

Ընտրեք Syncthing-ը, եթե պետք է աննկատ ֆոնային համաժամացում։ Ընտրեք Nextcloud-ը, եթե անհրաժեշտ են վեբ հասանելիություն, տարածվող հղումներ, օգտատերերի հաշիվներ, օրացույց և համատեղ աշխատանքի հնարավորություններ։

Ինչպես տեղադրել Syncthing-ը VPS-ում Docker Compose-ով

Ստորև բերված քայլերը նախատեսված են Ubuntu 24.04-ով աշխատող VPS-ի համար։ Վահանակը կմնա կապված սերվերի տեղական հասցեին, իսկ դուք դրան կմիանաք SSH թունելի միջոցով։

1. Տեղադրեք Docker-ը

sudo apt update
sudo apt install -y docker.io docker-compose-v2
sudo systemctl enable --now docker

2. Ստեղծեք պանակը և Compose ֆայլը

sudo mkdir -p /opt/syncthing/data
sudo chown -R 1000:1000 /opt/syncthing/data
cd /opt/syncthing
sudo nano compose.yaml

Տեղադրեք հետևյալը․

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-stopped

Այս կարգավորումն օգտագործում է Syncthing-ի պաշտոնական image-ը։ host ցանցային ռեժիմը հեշտացնում է ուղղակի կապերը, իսկ դատարկ STGUIADDRESS արժեքը վահանակը պահում է 127.0.0.1:8384 հասցեում։

Գործարկեք կոնտեյները․

sudo docker compose up -d
sudo docker compose ps

3. Թույլատրեք համաժամացման կապերը

Սկզբում թույլատրեք SSH-ը, որպեսզի ինքներդ ձեզ չփակեք մուտքից․

sudo ufw allow OpenSSH
sudo ufw allow 22000/tcp
sudo ufw allow 22000/udp
sudo ufw enable

22000/TCP-ը օգտագործվում է համաժամացման հիմնական արձանագրության համար, իսկ 22000/UDP-ը՝ QUIC-ի։ Պետք չէ բացել վահանակի 8384 պորտը։ Հանրային VPS-ում տեղական հայտնաբերման 21027/UDP պորտը սովորաբար անհրաժեշտ չէ։

4. Բացեք վահանակը SSH-ի միջոցով

Գործարկեք հետևյալ հրամանը ձեր համակարգչում․

ssh -L 9999:127.0.0.1:8384 root@SERVER_IP

Բաց պահեք տերմինալը և այցելեք․

http://127.0.0.1:9999

Վահանակը բացելուց հետո անցեք Actions → Settings → GUI և սահմանեք օգտանուն ու գաղտնաբառ։ Եթե հետագայում ցանկանում եք վահանակը հասանելի դարձնել դոմենի միջոցով, տեղադրեք այն HTTPS reverse proxy-ի հետևում և թողեք նույնականացումը միացված։

5. Ավելացրեք սարքերն ու պանակը

Տեղադրեք Syncthing-ը ձեր համակարգչում, այնուհետև՝

  1. Եվ համակարգչում, և VPS-ում ընտրեք Actions → Show ID։
  2. Յուրաքանչյուր հանգույցի Device ID-ն ավելացրեք մյուս սարքում։
  3. Համակարգչում սեղմեք Add Folder, ընտրեք պանակը և այն կիսվեք սերվերի հետ։
  4. VPS-ում ընդունեք պանակը և ընտրեք այնպիսի ուղի, ինչպիսին է /var/syncthing/Files։

Երկկողմ համաժամացման համար համակարգիչներում թողեք միացված Send & Receive-ը։ VPS-ում հաճախ հարմար է Receive Only-ը․ սերվերը շարունակում է ստանալ ու փոխանցել փոփոխությունները հանգույցների միջև, բայց VPS-ում անմիջապես կատարված պատահական տեղական խմբագրումները չեն տարածվի ամբողջ ցանցով։

Ինչու Syncthing-ը չի փոխարինում պահուստային պատճենին

Եթե ֆայլը ջնջվի կամ գաղտնագրվի մեկ սարքում, այդ փոփոխությունը կարող է տարածվել մյուսների վրա։ Այդ պատճառով բացեք VPS-ի պանակի կարգավորումները և միացրեք File Versioning-ը։

Գործնական տարբերակ է Staggered File Versioning-ը՝ 30–90 օրվա պահպանման ժամկետով։ Երբ հեռավոր հանգույցը փոխարինում կամ ջնջում է ֆայլը, նախորդ տարբերակը տեղափոխվում է .stversions։ Հին պատճենները զբաղեցնում են սկավառակի տարածք, ուստի սահմանեք պահպանման սահմանաչափ։

Հուսալի կարգավորումն ունի երեք շերտ․

  1. Syncthing-ը թարմ է պահում աշխատանքային պատճենները։
  2. Տարբերակավորումն օգնում է հետարկել որոշ սխալներ։
  3. Առանձին պլանավորված պահուստային պատճենը պահվում է Syncthing-ից անկախ։

Կարո՞ղ է VPS-ը պահել ֆայլերը՝ չտեսնելով դրանց բովանդակությունը

Syncthing-ը ներառում է չվստահված սարքի ռեժիմ։ Հիմնական համակարգչում պանակի համար սահմանում եք գաղտնաբառ և VPS-ում ընտրում Receive Encrypted։ Սերվերը պահում է գաղտնագրված տվյալները և կարող է դրանք փոխանցել մեկ այլ վստահելի սարքի, որն օգտագործում է նույն գաղտնաբառը։

Բովանդակությունը, ֆայլերի անունները, ժամանակային դրոշմները և պանակների կառուցվածքը թաքցված են։ Ընդհանուր պանակի մասին տեղեկությունը և ֆայլերի մոտավոր չափերը մնում են տեսանելի։

Մշակողները այս հնարավորությունը դեռ համարում են փորձնական։ Գաղտնաբառն ու Folder ID-ն պահեք առանձին․ առանց դրանց գաղտնագրված պանակի վերականգնումը կարող է անհնար լինել։

Ինչպիսի՞ VPS է պետք Syncthing-ին

Ռեսուրսների օգտագործումը կախված է ոչ միայն տվյալների ծավալից, այլև ֆայլերի քանակից, դրանց փոփոխման հաճախականությունից և սկզբնական ինդեքսավորման գործընթացից։ Փաստաթղթերով և մի քանի տասնյակ գիգաբայթ տվյալներով անձնական հանգույցի համար սովորաբար բավական է մեկնարկային այս կազմաձևը․

  • 1 vCPU;
  • 1 GB RAM;
  • SSD կամ NVMe պահեստ;
  • բավարար սկավառակի տարածք ֆայլերի և .stversions-ի համար;
  • կայուն ցանցային կապ։

Մեծ լուսանկարադարանը կամ հարյուր հազարավոր ֆայլերը ավելի շատ ռեսուրսներ կպահանջեն։ Ամենաբարձր բեռնվածությունը սովորաբար լինում է առաջին սկանավորման և checksum-ների հաշվարկի ժամանակ։

tropic.host-ի հիմնական Ubuntu VPS-ը հարմար է այս խնդրի համար։ Կարող եք սկսել փոքր կազմաձևից և ավելացնել ռեսուրսները հավաքածուի աճին զուգընթաց։ Սկավառակի ծավալն ընտրելիս հաշվի առեք ոչ միայն ընթացիկ պանակները, այլև ապագա ֆայլերը, ժամանակավոր տվյալներն ու տարբերակների պատմությունը։

Հինգ սխալ, որոնցից պետք է խուսափել

  • Պորտ 8384-ը ամբողջ ինտերնետին հասանելի դարձնելը։ Կարգավորման համար օգտագործեք SSH թունել։ Մշտական վեբ հասանելիության համար օգտագործեք HTTPS, գաղտնաբառ և reverse proxy։
  • Սերվերի պատճենը լիարժեք պահուստային պատճեն համարելը։ Միացրեք տարբերակավորումը և ստեղծեք առանձին պահուստային արխիվներ։
  • Cache-երը և կախվածությունները համաժամացնելը։ Ավելորդ պանակները բացառեք .stignore-ի միջոցով։
  • Սկավառակի օգտագործումն անտեսելը։ .stversions պանակը ժամանակի ընթացքում կարող է զգալիորեն մեծանալ։
  • Կորած սարքը վստահելի թողնելը։ Հեռացրեք այն մյուս հանգույցներից և պաշտպանեք Syncthing-ի կազմաձևը, որը պարունակում է սարքերի բանալիները։

Ինչ պետք է իմանալ սմարթֆոնների մասին

Պաշտոնական Android հավելվածի մշակումը դադարեցվել է 2024 թվականի վերջին, սակայն հասանելի են համայնքի կողմից ստեղծված հաճախորդներ։ Պաշտոնական iOS հաճախորդ նույնպես չկա․ ֆոնային աշխատանքի սահմանափակումները դժվարացնում են շարունակական համաժամացումը։ Հիմնական լուսանկարադարանը միացնելուց առաջ ընտրված բջջային հավելվածը փորձարկեք փոքր պանակով։

Եզրակացություն

Syncthing-ը հարմար է նրանց համար, ովքեր ցանկանում են նույն պանակներն ունենալ մի քանի սարքերում՝ առանց պարտադիր ամպային միջնորդի։ VPS-ը համակարգը դարձնում է ավելի հարմար․ համակարգիչներն այլևս ստիպված չեն միաժամանակ առցանց լինել, և դուք ստանում եք մշտապես հասանելի պատճեն տնից դուրս։

Անվտանգ կարգավորման համար վարչական վահանակը ուղղակիորեն մի հրապարակեք, միացրեք տարբերակավորումը և համաժամացումը լրացրեք անկախ պահուստային պատճենով։

FAQ

Syncthing-ի համար պե՞տք է VPS

Ոչ։ Սարքերը կարող են համաժամացվել ուղղակիորեն։ VPS-ը միշտ միացված հանգույց է, որը թույլ է տալիս դրանց տարբեր ժամանակներում փոխանակել փոփոխությունները։

Կարո՞ղ եմ Syncthing-ի ֆայլերը բացել բրաուզերում

Վեբ վահանակը նախատեսված է կարգավորման, ոչ թե Google Drive-ի նման փաստաթղթերը դիտելու համար։ Եթե ձեզ պետք է վեբ սկավառակ, ավելի լավ ընտրություն է Nextcloud-ը։

Syncthing-ը պահուստային պատճենների լուծո՞ւմ է

Ոչ։ Ջնջումները և վնասված տվյալները կարող են տարածվել մյուս սարքերի վրա։ Տարբերակավորումն օգնում է, բայց չի փոխարինում անկախ պահուստային պատճենին։

Պե՞տք է բացել 8384 պորտը

Ոչ։ Վահանակը պահեք 127.0.0.1:8384 հասցեում և միացեք SSH թունելի միջոցով։ Համաժամացման համար բացեք 22000/TCP և 22000/UDP։

Կարո՞ղ է VPS-ի սեփականատերը կարդալ ֆայլերը

Սովորական կարգավորման դեպքում՝ հնարավոր է։ Receive Encrypted-ը պահում է դրանք գաղտնագրված ձևով, սակայն հնարավորությունը դեռ փորձնական է համարվում, և գաղտնաբառը ու Folder ID-ն պետք է պահեք անվտանգ։