SyncThing
SyncThing은 파일 동기화 서비스이다. 오픈 소스이며 Windows/MacOS/Linux/Android 모두 지원하는 높은 범용성을 가지고있다.
P2P 방식의 파일 동기화 프로그램이라 NAS와 같은 서버가 필수적이지는 않지만, 항상 켜진 상태로 파일 변경 상태를 관리하는 컴퓨터가 있는 것이 더 유용하니 중앙 관리 목적을 하는 NAS를 두고 사용하는 것이 효율적이라고 생각된다.
사전 작업
설정 폴더 생성
동기화 설정을 보관할 디렉토리를 생성해주자
$ mkdir -p /docker/syncthing # 동기화 설정 디렉토리
$ mkdor /docker/syncthing/data # 동기화할 자료 저장하는 디렉토리
도커 컨테이너 생성
아래 docker-compose.yaml 파일의 내용을 /docker/syncthing 디렉토리에 넣어주면 된다.
version: "3"
services:
syncthing:
image: syncthing/syncthing
restart: always
hostname: Jaehyo-NAS
environment:
PUID: 1000
PGID: 1000
TZ: Asia/Seoul
ports:
- "8384:8384"
- "22000:22000/tcp"
- "22000:22000/udp"
volumes:
- "./config:/var/syncthing/config"
- "./data:/var/syncthing/Sync"
container_name: syncthing
yaml 작성이 완료되었다면 컨테이너를 생성하도록 하자.
$ docker-compose up -d
서비스 동작 확인 및 설정
컨테이너가 정상적으로 생성되었다면 http://<IP주소>:8384
로 접속해보자.
처음 나오는 화면은 접속 계정을 설정하라는 내용이다. 현재 상황으로는 누군가 해당 도메인 또는 IP주소로 접근 시 관리자 인터페이스에 누구나 접근하여 동기화 설정을 바꿔버릴 수 있으므로, 보안을 위해 접속 계정을 바로 바꿔주는 것이 좋다.
접속 계정을 변경하는 방법은 설정 탭 - GUI 탭 에서 쉽게 사용자와 비밀번호를 변경할 수 있으니 참고바란다.