Tropic Host

Syncthing: nədir və VPS-də fayl sinxronizasiyasını necə qurmaq olar

8 dəqiqə oxu
Tropic
Syncthing: nədir və VPS-də fayl sinxronizasiyasını necə qurmaq olar

Language: az

Syncthing: başqasının buludundan istifadə etmədən cihazlar arasında faylları sinxronlaşdırın

Səhər noutbukunuzda sənədi redaktə edib onu söndürürsünüz. Axşam ev kompüterinizi açanda ən son versiya artıq oradadır. Fayl heç vaxt Google Drive və ya Dropbox-dan keçməyib: onu öz Syncthing qovşağınız qəbul edib.

Syncthing seçilmiş qovluqları etibarlı cihazlar arasında birbaşa sinxronlaşdırır, məlumatların harada saxlanmasına nəzarət isə sizdə qalır. Mərkəzi server məcburi deyil.

Lakin iki kompüter nadir hallarda eyni vaxtda onlayn olursa, dəyişiklikləri mübadilə etmək çətinləşir. Daimi işləyən VPS bu problemi həll edir: bir cihazdan faylları qəbul edir və daha sonra onları digərinə ötürür.

Syncthing-in nə üçün nəzərdə tutulduğunu anlamaq vacibdir. Bu, şəbəkə diski və ya brauzerdə işləyən fayl meneceri deyil, seçilmiş qovluqları avtomatik replikasiya edən vasitədir.

Syncthing beş addımda

Minimal quraşdırma belə görünür:

  1. Syncthing-i lazım olan kompüterlərə quraşdırın.
  2. VPS-də daha bir Syncthing nümunəsi işlədin.
  3. Server panelini SSH tuneli vasitəsilə açın.
  4. Cihaz identifikatorlarını mübadilə edin və bağlantını təsdiqləyin.
  5. Paylaşılan qovluq əlavə edin, sinxronizasiya rejimini seçin və fayl versiyalaşdırmasını aktivləşdirin.

Syncthing nədir və necə işləyir

Syncthing davamlı fayl sinxronizasiyası üçün pulsuz, açıq mənbəli proqramdır. Windows, macOS, Linux və digər masaüstü və server əməliyyat sistemlərində işləyir.

Hər quraşdırma unikal Device ID — kriptoqrafik identifikator alır. İki qovşaq məlumat mübadiləsi etməzdən əvvəl onları bir-birinə əlavə etməli və konkret qovluğa girişi açıq şəkildə icazələndirməlisiniz. Cihazlarınızı və fayllarınızı saxlayan vahid Syncthing hesabı yoxdur.

Fayl dəyişəndə Syncthing onu bloklara bölür, yoxlama cəmlərini müqayisə edir və yalnız çatışmayan hissələri ötürür. Buna görə böyük fayldakı kiçik düzəliş həmişə bütün faylın yenidən göndərilməsini tələb etmir.

Kəşf xidmətləri cihazların bir-birini tapmasına kömək edir, lakin faylları saxlamır. Birbaşa bağlantı mümkün deyilsə, şifrələnmiş trafik daha yavaş relay üzərindən keçə bilər.

VPS nəyi dəyişir

Server olmadan noutbuk ev kompüteri ilə birbaşa sinxronlaşa bilər, amma hər iki cihaz, hətta qısa müddətə olsa belə, eyni vaxtda onlayn olmalıdır. VPS quraşdırmanı həmişə əlçatan mübadilə nöqtəsinə çevirir.

Məsələn, noutbukunuz səhər layihəni serverə yükləyir və sonra sönür. Axşam ev kompüteri yeni versiyanı VPS-dən yükləyir.

Syncthing sənədlər, Obsidian qeydləri, mənbə kodu, fotolar və ailə qovluqları üçün yaxşı işləyir. Keşləri, node_modules və build nəticələrini .stignore ilə istisna etmək daha məqsədəuyğundur. Aktiv verilənlər bazaları və virtual maşın görüntüləri sinxronlaşdırılmamalıdır.

VPS məlumatlarınızın evdən kənarda daha bir nüsxəsini də yaradır. Lakin bu nüsxə yalnız versiyalaşdırma və ayrıca backup arxivi ilə birlikdə həqiqi ehtiyat nüsxəyə çevrilir: təsadüfi silinmə bütün cihazlara yayıla bilər.

Syncthing, yoxsa Nextcloud: hansını seçmək lazımdır?

Bu iki alət fərqli problemləri həll etsə də, tez-tez müqayisə olunur.

MeyarSyncthingNextcloud
ModelQovluqlar cihazlar arasında kopyalanırFayllar mərkəzi serverdə saxlanılır
Server lazımdırmıXeyr, VPS məcburi deyilBəli
Brauzerdən fayllara girişTam funksiyalı veb disk yoxdurBəli
İctimai linklərXeyrBəli
Birgə redaktəTəqdim edilmirƏlavə etmək olar
Ən uyğun istifadəEyni qovluqları öz cihazlarınızda saxlamaqŞəxsi və ya komanda buludu

Gözə batmayan fon sinxronizasiyası üçün Syncthing-i seçin. Veb giriş, paylaşıla bilən linklər, istifadəçi hesabları, təqvim və əməkdaşlıq funksiyaları lazımdırsa Nextcloud seçin.

Docker Compose ilə VPS-də Syncthing-i necə quraşdırmaq olar

Aşağıdakı addımlar Ubuntu 24.04 işlədən VPS üçündür. Panel serverin lokal ünvanına bağlı qalacaq və ona SSH tuneli ilə qoşulacaqsınız.

1. Docker-i quraşdırın

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

2. Qovluq və Compose faylı yaradın

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

Aşağıdakı məzmunu yerləşdirin:

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

Bu konfiqurasiya rəsmi Syncthing image-dən istifadə edir. host şəbəkə rejimi birbaşa bağlantıları asanlaşdırır, boş STGUIADDRESS dəyəri isə paneli 127.0.0.1:8384 ünvanında saxlayır.

Konteyneri başladın:

sudo docker compose up -d
sudo docker compose ps

3. Sinxronizasiya bağlantılarına icazə verin

Əvvəlcə SSH-a icazə verin ki, serverdən kənarda qalmayasınız:

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

22000/TCP əsas sinxronizasiya protokolu, 22000/UDP isə QUIC üçün istifadə olunur. Panel portu 8384 internetə açılmamalıdır. Lokal kəşf portu 21027/UDP ictimai VPS-də adətən lazım deyil.

4. Paneli SSH vasitəsilə açın

Aşağıdakı əmri kompüterinizdə icra edin:

ssh -L 9999:127.0.0.1:8384 root@SERVER_IP

Terminalı açıq saxlayın və bu ünvana keçin:

http://127.0.0.1:9999

Paneli açdıqdan sonra Actions → Settings → GUI bölməsinə keçin və istifadəçi adı ilə parol təyin edin. Daha sonra panelə domen üzərindən giriş vermək istəsəniz, onu HTTPS reverse proxy arxasında yerləşdirin və autentifikasiyanı aktiv saxlayın.

5. Cihaz və qovluq əlavə edin

Syncthing-i kompüterinizə quraşdırın, sonra:

  1. Həm kompüterdə, həm də VPS-də Actions → Show ID seçin.
  2. Hər qovşağın Device ID-sini digər cihaza əlavə edin.
  3. Kompüterdə Add Folder düyməsinə klikləyin, qovluq seçin və onu serverlə paylaşın.
  4. VPS-də qovluğu qəbul edin və /var/syncthing/Files kimi yol seçin.

İki istiqamətli sinxronizasiya üçün kompüterlərdə Send & Receive rejimini aktiv saxlayın. VPS-də Receive Only çox vaxt rahatdır: server qovşaqlar arasındakı dəyişiklikləri qəbul edib ötürməyə davam edir, amma VPS-də birbaşa edilən təsadüfi lokal düzəlişlər bütün şəbəkəyə yayılmır.

Syncthing niyə backup-ı əvəz etmir

Fayl bir cihazda silinsə və ya şifrələnsə, bu dəyişiklik digərlərinə yayıla bilər. Buna görə VPS-də qovluq parametrlərini açın və File Versioning funksiyasını aktivləşdirin.

Praktik seçim 30–90 günlük saxlama müddəti ilə Staggered File Versioning funksiyasıdır. Uzaq qovşaq faylı əvəz etdikdə və ya sildikdə əvvəlki versiya .stversions qovluğuna köçürülür. Köhnə nüsxələr diskdə yer tutur, ona görə saxlama limitini təyin edin.

Etibarlı quraşdırma üç təbəqədən ibarətdir:

  1. Syncthing iş nüsxələrini aktual saxlayır.
  2. Versiyalaşdırma bəzi səhvləri geri qaytarmağa kömək edir.
  3. Ayrı planlaşdırılmış backup Syncthing-dən müstəqil saxlanılır.

VPS faylları məzmunu görmədən saxlaya bilərmi?

Syncthing etibarsız cihaz rejimini dəstəkləyir. Əsas kompüterdə qovluq üçün parol təyin edin və VPS-də Receive Encrypted seçin. Server şifrələnmiş məlumatları saxlayır və onları eyni paroldan istifadə edən başqa etibarlı cihaza ötürə bilər.

Məzmun, fayl adları, vaxt möhürləri və qovluq strukturu gizlədilir. Paylaşılan qovluq və faylların təxmini ölçüsü haqqında məlumat görünən olaraq qalır.

Tərtibatçılar bu funksiyanı hələ eksperimental hesab edirlər. Parolu və Folder ID-ni ayrı saxlayın: onlar olmadan şifrələnmiş qovluğu bərpa etmək mümkün olmaya bilər.

Syncthing üçün hansı VPS lazımdır?

Resurs istifadəsi yalnız məlumat həcmi ilə deyil, faylların sayı, dəyişmə tezliyi və ilkin indeksləmə prosesi ilə də müəyyən olunur. Sənədləri və bir neçə on gigabayt məlumatı olan şəxsi qovşaq üçün adətən bu başlanğıc konfiqurasiya kifayətdir:

  • 1 vCPU;
  • 1 GB RAM;
  • SSD və ya NVMe yaddaş;
  • fayllar və .stversions üçün kifayət qədər disk yeri;
  • sabit şəbəkə bağlantısı.

Böyük foto kolleksiyası və ya yüz minlərlə fayl daha çox resurs tələb edəcək. Ən yüksək yük adətən ilk skan və yoxlama cəmlərinin hesablanması zamanı yaranır.

Bu iş üçün tropic.host şirkətinin əsas Ubuntu VPS-i uyğundur. Kiçik konfiqurasiya ilə başlayıb kolleksiyanız böyüdükcə resursları artıra bilərsiniz. Disk tutumunu seçərkən yalnız cari qovluqları deyil, gələcək faylları, müvəqqəti məlumatları və versiya tarixçəsini də nəzərə alın.

Qaçınılmalı beş səhv

  • 8384 portunu bütün internetə açmaq. Quraşdırma üçün SSH tunelindən istifadə edin. Daimi veb giriş üçün HTTPS, parol və reverse proxy tətbiq edin.
  • Serverdəki nüsxəni tam backup hesab etmək. Versiyalaşdırmanı aktivləşdirin və ayrıca backup arxivləri yaradın.
  • Keşləri və asılılıqları sinxronlaşdırmaq. Lazımsız qovluqları .stignore ilə istisna edin.
  • Disk istifadəsinə məhəl qoymamaq. .stversions qovluğu zamanla xeyli böyüyə bilər.
  • İtirilmiş cihazı etibarlı saxlamaq. Onu digər qovşaqlardan silin və cihaz açarlarını saxlayan Syncthing konfiqurasiyasını qoruyun.

Smartfonlar haqqında nə bilmək lazımdır

Rəsmi Android tətbiqi 2024-cü ilin sonunda dayandırılıb, lakin icma tərəfindən hazırlanmış klientlər mövcuddur. Rəsmi iOS klienti də yoxdur: fon rejimində işləmə məhdudiyyətləri davamlı sinxronizasiyanı çətinləşdirir. Əsas foto kitabxananızı qoşmazdan əvvəl seçdiyiniz mobil tətbiqi kiçik qovluqla test edin.

Nəticə

Syncthing məcburi bulud vasitəçisinə güvənmədən eyni qovluqları bir neçə cihazda saxlamaq istəyən hər kəs üçün uyğundur. VPS sistemi daha rahat edir: kompüterlərin eyni vaxtda onlayn olması lazım deyil və evdən kənarda həmişə əlçatan nüsxə əldə edirsiniz.

Təhlükəsiz quraşdırma üçün inzibati paneli birbaşa açmayın, versiyalaşdırmanı aktivləşdirin və sinxronizasiyanı müstəqil backup ilə tamamlayın.

FAQ

Syncthing üçün VPS lazımdırmı?

Xeyr. Cihazlar birbaşa sinxronlaşa bilər. VPS həmişə aktiv qovşaq kimi onların müxtəlif vaxtlarda dəyişiklik mübadiləsi etməsinə imkan verir.

Syncthing fayllarını brauzerdə aça bilərəmmi?

Veb panel sənədlərə Google Drive kimi baxmaq üçün deyil, konfiqurasiya üçün nəzərdə tutulub. Veb disk lazımdırsa, Nextcloud daha yaxşı seçimdir.

Syncthing backup həllidirmi?

Xeyr. Silinmələr və korlanmalar digər cihazlara yayıla bilər. Versiyalaşdırma kömək edir, amma müstəqil backup-ı əvəz etmir.

8384 portunu açmalıyam?

Xeyr. Paneli 127.0.0.1:8384 ünvanında saxlayın və SSH tuneli ilə qoşulun. Sinxronizasiya üçün 22000/TCP22000/UDP portlarını açın.

VPS sahibi faylları oxuya bilərmi?

Standart quraşdırmada potensial olaraq bəli. Receive Encrypted faylları şifrələnmiş formada saxlayır, lakin funksiya hələ eksperimental sayılır və parol ilə Folder ID-ni təhlükəsiz saxlamağınızı tələb edir.