[IT/기술] Synology Docker CouchDB + DavDepthInfinity 세팅 가이드

관리자 Lv.1
02-09 09:19 · 조회 0 · 추천 0

Synology Docker CouchDB + DavDepthInfinity 세팅 가이드

Obsidian LiveSync를 위한 Synology NAS 서버 구축

Obsidian을 Synology NAS와 WebDAV으로 연동할 때 경로 길이 제한 문제가 발생할 수 있습니다. 이를 근본적으로 해결하기 위해 CouchDB + Obsidian LiveSync 조합을 사용할 수 있습니다.


1. DavDepthInfinity 활성화

DavDepthInfinity는 WebDAV에서 PROPFIND 요청 시 Depth: Infinity 헤더를 허용하는 설정입니다. 전체 디렉토리 트리를 한 번의 요청으로 조회하여 동기화 속도가 향상됩니다.

설정 방법

1. Synology DSM에 관리자로 로그인

2. 패키지 센터에서 WebDAV Server 설치 확인

3. WebDAV Server 앱 실행

4. 설정(Settings) 탭으로 이동

5. Enable DavDepthInfinity 체크박스 활성화

6. 적용(Apply) 클릭


2. Docker CouchDB 설치 (SSH + docker-compose 권장)

Container Manager GUI에서 볼륨 경로 검증 오류가 발생할 수 있으므로 SSH + docker-compose 방식을 권장합니다.

Step 1: SSH 활성화

DSM → 제어판 → 터미널 및 SNMP → SSH 서비스 활성화

Step 2: 폴더 생성

ssh admin@NAS_IP
sudo mkdir -p /volume1/docker/couchdb
cd /volume1/docker/couchdb

Step 3: docker-compose.yml 생성

version: "3" services: couchdb: image: couchdb:3 container_name: obsidian-couchdb restart: unless-stopped ports: - "5984:5984" environment: - COUCHDB_USER=admin - COUCHDB_PASSWORD=본인비밀번호설정 volumes: - ./data:/opt/couchdb/data - ./local.ini:/opt/couchdb/etc/local.ini

Step 4: local.ini 설정 파일

[couchdb] single_node=true max_document_size = 50000000 [chttpd] require_valid_user = true max_http_request_size = 4294967296 enable_cors = true bind_address = 0.0.0.0 [chttpd_auth] require_valid_user = true authentication_redirect = /_utils/session.html [httpd] WWW-Authenticate = Basic realm="couchdb" [cors] origins = app://obsidian.md, capacitor://localhost, http://localhost credentials = true headers = accept, authorization, content-type, origin, referer methods = GET, PUT, POST, HEAD, DELETE max_age = 3600

Step 5: 컨테이너 실행

sudo docker-compose up -d

3. CouchDB 초기 설정

1. 브라우저에서 http://NAS_IP:5984/_utils 접속

2. admin / 비밀번호로 로그인

3. Create Database 클릭

4. 데이터베이스 이름 입력 (예: obsidian-vault)

5. Non-partitioned 선택 후 생성


4. 설정 항목 설명

설정설명
single_node=true단일 노드 모드 (NAS용)
max_document_size50MB - 큰 파일 동기화 허용
enable_corsObsidian에서 접근 허용
require_valid_user인증된 사용자만 접근
originsObsidian 데스크톱+모바일 앱 허용

5. 트러블슈팅

Container Manager에서 /opt/couchdb/data 유효하지 않음
→ GUI 볼륨 경로 검증 문제. SSH + docker-compose CLI로 해결.
CouchDB 접속 불가
→ DSM 제어판 → 방화벽에서 5984 포트 허용 확인.
CORS 오류
→ local.ini [cors] origins에 Obsidian 프로토콜 포함 확인.
다음 단계: CouchDB 설치 후 Obsidian에서 Self-hosted LiveSync 플러그인 설치하여 동기화 설정. 모바일 사용 시 HTTPS 설정 필요.
💬 0 로그인 후 댓글 작성
첫 댓글을 남겨보세요!