Language: kk
Syncthing: бөтен бұлтсыз құрылғылар арасында файлдарды синхрондау
Таңертең ноутбукте құжатты өңдеп, оны өшіріп қоясыз. Кешке үйдегі компьютерді ашсаңыз, соңғы нұсқасы әлдеқашан сонда тұр. Файл Google Drive немесе Dropbox арқылы өтпеді: оны өз Syncthing түйініңіз қабылдады.
Syncthing таңдалған бумаларды сенімді құрылғылар арасында тікелей синхрондайды, ал деректердің қайда сақталатынын өзіңіз басқарасыз. Орталық сервер міндетті емес.
Алайда екі компьютер бір уақытта сирек қосылса, өзгерістерді алмасу қиындайды. Үнемі қосулы VPS бұл мәселені шешеді: ол файлдарды бір құрылғыдан қабылдап, кейін екіншісіне жібереді.
Syncthing не үшін жасалғанын түсіну маңызды. Ол желілік диск немесе браузердегі файл менеджері емес, таңдалған бумаларды автоматты түрде көшіруге арналған құрал.
Syncthing бес қадамда
Ең аз баптау мынадай:
- Қажетті компьютерлерге Syncthing орнатыңыз.
- VPS-де тағы бір Syncthing данасын іске қосыңыз.
- Сервердің бақылау тақтасын SSH туннелі арқылы ашыңыз.
- Құрылғы идентификаторларын алмасып, қосылымды растаңыз.
- Ортақ бума қосып, синхрондау режимін таңдаңыз және файл нұсқаларын сақтауды қосыңыз.
Syncthing деген не және ол қалай жұмыс істейді
Syncthing — файлдарды үздіксіз синхрондауға арналған тегін, ашық бастапқы коды бар бағдарлама. Ол Windows, macOS, Linux және басқа да жұмыс үстелі мен серверлік операциялық жүйелерінде жұмыс істейді.
Әр орнатылым бірегей Device ID — криптографиялық идентификатор алады. Екі түйін дерек алмасуы үшін оларды бір-біріне қосып, белгілі бір бумаға қолжетімділікті бөлек беру керек. Құрылғылар мен файлдарды сақтайтын бірыңғай Syncthing аккаунты жоқ.
Файл өзгерген кезде Syncthing оны блоктарға бөліп, бақылау қосындыларын салыстырады да, тек жетіспейтін бөліктерді жібереді. Сондықтан үлкен файлдың ішіндегі шағын түзету әрдайым бүкіл файлды қайта жіберуді қажет етпейді.
Табу қызметтері құрылғыларға бір-бірін табуға көмектеседі, бірақ файлдарды сақтамайды. Тікелей қосылу мүмкін болмаса, шифрланған трафик баяуырақ relay арқылы өтуі мүмкін.
VPS не өзгертеді
Серверсіз ноутбук үйдегі компьютермен тікелей синхрондала алады, бірақ екі құрылғы қысқа уақыт болса да бір мезгілде онлайн болуы керек. VPS жүйені әрдайым қолжетімді алмасу нүктесіне айналдырады.
Мысалы, ноутбук таңертең жобаны серверге жүктеп, кейін өшеді. Кешке үйдегі компьютер жаңа нұсқаны VPS-тен жүктейді.
Syncthing құжаттарға, Obsidian жазбаларына, бастапқы кодқа, фотосуреттерге және отбасылық бумаларға жақсы келеді. Кэштерді, node_modules және құрастыру нәтижелерін .stignore арқылы алып тастаған жөн. Белсенді дерекқорлар мен виртуалды машиналардың бейнелерін синхрондамау керек.
VPS деректеріңіздің үйден тыс көшірмесін де жасайды. Бірақ ол нұсқаларды сақтау және бөлек резервтік архивпен бірге қолданылғанда ғана толыққанды backup болады: кездейсоқ өшіру барлық құрылғыға таралуы мүмкін.
Syncthing немесе Nextcloud: қайсысын таңдау керек?
Бұл екі құрал әртүрлі мәселелерді шешсе де, оларды жиі салыстырады.
| Критерий | Syncthing | Nextcloud |
|---|---|---|
| Модель | Бумалар құрылғылар арасында көшіріледі | Файлдар орталық серверде сақталады |
| Сервер қажет пе | Жоқ, 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 docker2. Бума мен 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 ps3. Синхрондау қосылымдарына рұқсат беру
Алдымен SSH-қа рұқсат беріп, өзіңізді серверден құлыптап тастамаңыз:
sudo ufw allow OpenSSH
sudo ufw allow 22000/tcp
sudo ufw allow 22000/udp
sudo ufw enable22000/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 орнатыңыз да:
- Компьютерде де, VPS-де де Actions → Show ID таңдаңыз.
- Әр түйіннің Device ID идентификаторын екіншісіне қосыңыз.
- Компьютерде Add Folder батырмасын басып, буманы таңдап, оны сервермен бөлісіңіз.
- VPS-де буманы қабылдап,
/var/syncthing/Filesсияқты жолды таңдаңыз.
Екіжақты синхрондау үшін компьютерлерде Send & Receive режимін қосулы қалдырыңыз. VPS-де Receive Only жиі ыңғайлы: сервер түйіндер арасындағы өзгерістерді қабылдап, әрі қарай жібереді, бірақ VPS-де тікелей жасалған кездейсоқ жергілікті түзетулер бүкіл желіге таралмайды.
Syncthing неге резервтік көшірмені алмастырмайды
Егер файл бір құрылғыда өшірілсе немесе шифрланса, бұл өзгеріс басқаларына таралуы мүмкін. Сондықтан VPS-дегі бума баптауларын ашып, File Versioning мүмкіндігін қосыңыз.
Практикалық нұсқа — сақтау мерзімі 30–90 күн болатын Staggered File Versioning. Қашықтағы түйін файлды ауыстырғанда немесе өшіргенде, алдыңғы нұсқа .stversions ішіне көшіріледі. Ескі көшірмелер дискіде орын алады, сондықтан сақтау шегін белгілеңіз.
Сенімді жүйеде үш қабат болады:
- Syncthing жұмыс көшірмелерін жаңартып отырады.
- Нұсқаларды сақтау кейбір қателерді қайтаруға көмектеседі.
- Бөлек жоспарланған 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-ді қауіпсіз сақтау қажет.
