Tropic Host

Syncthing: бұл не және VPS-де файлдарды синхрондауды қалай баптау керек

5 мин оқу
Tropic
Syncthing: бұл не және VPS-де файлдарды синхрондауды қалай баптау керек

Language: kk

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 оны блоктарға бөліп, бақылау қосындыларын салыстырады да, тек жетіспейтін бөліктерді жібереді. Сондықтан үлкен файлдың ішіндегі шағын түзету әрдайым бүкіл файлды қайта жіберуді қажет етпейді.

Табу қызметтері құрылғыларға бір-бірін табуға көмектеседі, бірақ файлдарды сақтамайды. Тікелей қосылу мүмкін болмаса, шифрланған трафик баяуырақ relay арқылы өтуі мүмкін.

VPS не өзгертеді

Серверсіз ноутбук үйдегі компьютермен тікелей синхрондала алады, бірақ екі құрылғы қысқа уақыт болса да бір мезгілде онлайн болуы керек. VPS жүйені әрдайым қолжетімді алмасу нүктесіне айналдырады.

Мысалы, ноутбук таңертең жобаны серверге жүктеп, кейін өшеді. Кешке үйдегі компьютер жаңа нұсқаны VPS-тен жүктейді.

Syncthing құжаттарға, Obsidian жазбаларына, бастапқы кодқа, фотосуреттерге және отбасылық бумаларға жақсы келеді. Кэштерді, node_modules және құрастыру нәтижелерін .stignore арқылы алып тастаған жөн. Белсенді дерекқорлар мен виртуалды машиналардың бейнелерін синхрондамау керек.

VPS деректеріңіздің үйден тыс көшірмесін де жасайды. Бірақ ол нұсқаларды сақтау және бөлек резервтік архивпен бірге қолданылғанда ғана толыққанды backup болады: кездейсоқ өшіру барлық құрылғыға таралуы мүмкін.

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-тің ресми бейнесін қолданады. 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 портын ашудың қажеті жоқ. 21027/UDP жергілікті табу порты жалпыға қолжетімді VPS-де әдетте қажет емес.

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 мүмкіндігін қосыңыз.

Практикалық нұсқа — сақтау мерзімі 30–90 күн болатын Staggered File Versioning. Қашықтағы түйін файлды ауыстырғанда немесе өшіргенде, алдыңғы нұсқа .stversions ішіне көшіріледі. Ескі көшірмелер дискіде орын алады, сондықтан сақтау шегін белгілеңіз.

Сенімді жүйеде үш қабат болады:

  1. Syncthing жұмыс көшірмелерін жаңартып отырады.
  2. Нұсқаларды сақтау кейбір қателерді қайтаруға көмектеседі.
  3. Бөлек жоспарланған backup Syncthing-тен тәуелсіз сақталады.

VPS файлдардың мазмұнын көрмей сақтай ала ма?

Syncthing сенімсіз құрылғы режимін қамтиды. Негізгі компьютерде бумаға құпиясөз орнатып, VPS-де Receive Encrypted таңдаңыз. Сервер шифрланған деректерді сақтайды және сол құпиясөзді қолданатын басқа сенімді құрылғыға жібере алады.

Мазмұн, файл атаулары, уақыт белгілері және бума құрылымы жасырын болады. Ортақ бума туралы ақпарат пен файлдардың шамамен өлшемі көрініп қалады.

Әзірлеушілер бұл мүмкіндікті әлі эксперименттік деп санайды. Құпиясөз бен Folder ID-ді бөлек сақтаңыз: оларсыз шифрланған буманы қалпына келтіру мүмкін болмауы ықтимал.

Syncthing үшін қандай VPS қажет?

Ресурстардың жұмсалуы деректер көлеміне ғана емес, файлдар санына, олардың қаншалықты жиі өзгеретініне және бастапқы индекстеу процесіне де байланысты. Құжаттары және бірнеше ондаған гигабайт дерегі бар жеке түйінге әдетте бастапқы конфигурация жеткілікті:

  • 1 vCPU;
  • 1 GB RAM;
  • SSD немесе NVMe сақтау орны;
  • файлдар мен .stversions үшін жеткілікті дискілік орын;
  • тұрақты желі қосылымы.

Үлкен фото кітапханасы немесе жүздеген мың файл көбірек ресурсты қажет етеді. Ең жоғары жүктеме әдетте алғашқы сканерлеу мен бақылау қосындыларын есептеу кезінде болады.

tropic.host ұсынатын базалық Ubuntu VPS бұл міндетке сай келеді. Шағын конфигурациядан бастап, жинағыңыз өскен сайын ресурстарды көбейте аласыз. Диск сыйымдылығын таңдағанда тек ағымдағы бумаларды емес, болашақ файлдарды, уақытша деректерді және нұсқалар тарихын да ескеріңіз.

Алдын алатын бес қате

  • 8384 портын бүкіл интернетке ашу. Баптау үшін SSH туннелін қолданыңыз. Тұрақты веб-қолжетімділік үшін HTTPS, құпиясөз және reverse proxy пайдаланыңыз.
  • Сервердегі көшірмені толық backup деп санау. Нұсқаларды сақтауды қосып, бөлек резервтік архивтер жасаңыз.
  • Кэштер мен тәуелділіктерді синхрондау. Қажетсіз бумаларды .stignore арқылы алып тастаңыз.
  • Диск қолданысын елемеу. .stversions бумасы уақыт өте едәуір үлкеюі мүмкін.
  • Жоғалған құрылғыны сенімді күйде қалдыру. Оны басқа түйіндерден жойып, құрылғы кілттері бар Syncthing конфигурациясын қорғаңыз.

Смартфондар туралы не білу керек

Ресми Android қолданбасы 2024 жылдың соңында тоқтатылды, бірақ қауымдастық клиенттері бар. Ресми iOS клиенті де жоқ: фондық орындалуға қойылатын шектеулер үздіксіз синхрондауды қиындатады. Негізгі фото кітапханаңызды қоспас бұрын, таңдалған мобильді қолданбаны шағын бумамен тексеріңіз.

Қорытынды

Syncthing міндетті бұлт делдалына сүйенбей, бірдей бумаларды бірнеше құрылғыда сақтағысы келетіндерге сай келеді. VPS жүйені ыңғайлы етеді: компьютерлер енді бір уақытта онлайн болуы шарт емес, әрі үйден тыс жерде әрдайым қолжетімді көшірме пайда болады.

Қауіпсіз баптау үшін әкімшілік бақылау тақтасын тікелей ашпаңыз, нұсқаларды сақтауды қосыңыз және синхрондауды тәуелсіз backup-пен толықтырыңыз.

FAQ

Syncthing үшін VPS қажет пе?

Жоқ. Құрылғылар тікелей синхрондала алады. VPS әрдайым қосулы түйін ретінде қызмет етіп, олардың өзгерістерді әр уақытта алмасуына мүмкіндік береді.

Syncthing файлдарын браузерде аша аламын ба?

Веб-бақылау тақтасы құжаттарды Google Drive сияқты қарауға емес, баптауға арналған. Веб-диск қажет болса, Nextcloud қолайлырақ.

Syncthing резервтік көшірме шешімі ме?

Жоқ. Өшірулер мен зақымданған деректер басқа құрылғыларға таралуы мүмкін. Нұсқаларды сақтау көмектеседі, бірақ тәуелсіз backup-ті алмастырмайды.

8384 портын ашу қажет пе?

Жоқ. Бақылау тақтасын 127.0.0.1:8384 адресінде қалдырып, SSH туннелі арқылы қосылыңыз. Синхрондау үшін 22000/TCP және 22000/UDP порттарын ашыңыз.

VPS иесі файлдарды оқи ала ма?

Стандартты баптауда, ықтимал. Receive Encrypted оларды шифрланған түрде сақтайды, бірақ бұл мүмкіндік әлі эксперименттік болып саналады және құпиясөз бен Folder ID-ді қауіпсіз сақтау қажет.