Syncthing은 두 대 이상의 컴퓨터 사이에서 파일을 실시간으로 계속 동기화하는 오픈소스 프로그램입니다(MPL-2.0). 드롭박스·구글드라이브와 목적은 비슷하지만, 결정적 차이가 있습니다 — 중앙 서버가 없습니다. 파일은 오직 내 기기들 위에만 존재하고, 기기끼리 직접(P2P) 주고받습니다.
Syncthing의 모델은 단순합니다. 기기를 서로 등록하고, 폴더를 공유하면 끝입니다.
각 기기는 설치 시 암호학적 키쌍을 만들고, 공개키에서 유도된 장치 ID(긴 문자열)를 갖습니다. 이 ID로 서로를 식별·인증하므로, 상대 ID만 등록하면 신뢰 관계가 성립합니다.
동기화할 폴더에 폴더 ID를 붙이고, 어떤 기기와 공유할지 고릅니다. 각 기기에서 폴더 타입을
정할 수 있습니다 — Send & Receive(양방향), Send Only(보내기만),
Receive Only(받기만).
같은 LAN이면 로컬 브로드캐스트로, 외부면 글로벌 디스커버리/릴레이로 서로를 찾습니다. 다만 우리는 Tailscale 사설망을 쓸 것이므로, 디스커버리에 의존하지 않고 고정 사설 IP로 직접 연결합니다(아래 6절). 변경분은 블록 단위로만 전송돼 큰 파일을 조금 고쳐도 전체를 다시 보내지 않습니다.
| 포트 | 용도 | 비고 |
|---|---|---|
8384 /tcp | 웹 GUI | 기본 127.0.0.1만 허용 |
22000 /tcp·udp | 동기화(데이터) | TCP + QUIC |
21027 /udp | 로컬 디스커버리 | 같은 LAN 자동 발견 |
Syncthing은 기본적으로 메시(mesh)입니다. 모든 기기가 서로 직접 연결되려 합니다. 그런데 노트북·데스크톱처럼 껐다 켰다 하는 기기들끼리만 묶으면 문제가 생깁니다 — A에서 바꾼 파일이 B에 가려면 그 순간 A와 B가 동시에 켜져 있어야 합니다.
해법은 항상 켜져 있는 노드 하나를 허브로 두는 것입니다. 각 PC는 그 허브하고만 동기화하면 되고, 허브가 모든 변경을 모아 두었다가 다른 PC가 켜질 때 전달합니다. 그 허브로 TrueNAS가 완벽합니다.
TrueNAS는 24시간 켜져 있는 데다 디스크 용량이 넉넉하고, Syncthing을 앱으로 바로 설치할 수 있습니다(TrueNAS SCALE 앱 카탈로그). TrueNAS에 Syncthing을 올려 항상 살아 있는 허브로 쓰면:
Send & Receive로 두어 모든 PC와 양방향 동기화하게 합니다.
그리고 파일 버전 관리(Staggered 등)를 TrueNAS에만 켜면, 각 PC에서 실수로 지운 파일도
허브에 이력으로 남아 복구할 수 있습니다.
전제: 3대 PC와 TrueNAS가 모두 같은 Tailscale 테일넷에 들어와 있습니다(각자 100.x.x.x 보유).
이제 포트포워딩 없이 바로 연결합니다.
:8384)에 접속.
http://127.0.0.1:8384)가 열린다.
dynamic 대신 tcp://100.x.x.x:22000으로 지정하면 디스커버리·릴레이 없이 직접 연결된다.
Send & Receive) 각 PC와 공유로 체크. 각 PC는 들어온 공유 요청을 수락하고 로컬 경로를 지정하면 끝.
# dynamic 대신 Tailscale 사설 IP로 직접 지정
Addresses: tcp://100.101.102.103:22000
# 사설망만 쓰면 글로벌 디스커버리/릴레이는 꺼도 됨(프라이버시·속도)
Global Discovery: off
Relaying: off
127.0.0.1:8384만 듣습니다. TrueNAS 앱 GUI를 테일넷에서 열고 싶으면
앱의 바인드 주소를 Tailscale IP로 두거나 Tailscale Serve로 노출하세요. 외부 포트는 열 필요가 없습니다.
TrueNAS 폴더에 File Versioning을 켜면 덮어쓰기·삭제된 파일이 버전 폴더에 보관됩니다.
Staggered(시간이 지날수록 듬성듬성 보관)가 백업 용도로 무난합니다.
// 동기화에서 제외할 것들
node_modules
.DS_Store
*.tmp
.git
양쪽에서 같은 파일을 동시에 고치면, Syncthing은 한쪽을
파일명.sync-conflict-날짜-기기.확장자로 남겨 덮어쓰지 않습니다.
어느 쪽이 맞는지 직접 보고 정리하면 됩니다.
Syncthing은 클라우드 없이 내 기기끼리 암호화 동기화하는 가장 깔끔한 방법이고, TrueNAS 허브 + Tailscale 조합이 그 약점(동시 가동·NAT 뚫기)을 정확히 메웁니다.
| 요소 | 역할 | 이점 |
|---|---|---|
| Syncthing | P2P 파일 동기화 | 무료·오픈소스·암호화·오프라인 |
| TrueNAS 허브 | 항상 켜진 중계·보관 노드 | 동시 가동 불필요, 누락 없음, 버전·스냅샷 |
| Tailscale | 암호화 사설망 | 포트포워딩 0, 어디서나 직접 연결 |