안녕하세요!!
오랜만에 글을 올리는 아과노트 입니다.
그동안 육아때문에 너무 정신이 없어서 글을 못올렸네요 ㅠㅠ
무엇으로 오랜만에 글로 인사드릴까 하다가,
최근에 옵시디언을 사용하는데 Self-hosted LiveSync를 이용하면 유료결제 없이도 동기화가 가능한데
시놀로지를 이용하여 구축하는 글들이 없다는 것을 보고 제가 했던 삽질이 도움이 될까 해서 글을 올려봅니다. ㅎㅎㅎ

이번 글은 다음과 같은 순서대로 진행됩니다.
- Synology에 Self-hosted LiveSync 를 위한 CouchDB 설치하기(Container Manager 이용)
- PC의 Obsidian에서 Self-hosted LiveSync 플러그인 설치 및 연동하기
- 스마트폰 Obsidian에서 Self-hosted LiveSync 플러그인 설치 및 셋팅 불러오기
- Obsidian 동기화 테스트
그럼 1번 부터 시작해 보겠습니다.
먼저 옵시디언의 동기화를 위해서 가장 중요한 것이 Self-hosted LiveSync 플러그인 입니다.
Self-hosted LiveSync을 사용하기 위해서는 먼저 Couch db가 설치되어 있어야 합니다.
설치 전에 CouchDB가 무엇이고 왜 설치해야 하는지 알면 좋겠지요??
CouchDB란?
JSON 기반 문서 형식으로 데이터를 수집하고 저장하는 오픈 소스 NoSQL 문서 데이터베이스
라고 합니다. 즉 쉽게 말하면 다음과 같네요.
CouchDB는 옵시디언의 문서들을 저장하고 관리하기 위한 DB입니다!
-아과노트-
즉, 이 CouchDB와 Self-hosted LiveSync를 이용하여 내가 관리하는 옵시디언간의 동기화를 하는것입니다.
CouchDB 는 라즈베리파이 이든, 개인 PC이든 어디든 설치하면 됩니다.
물론 Docker를 이용해서 하면 훨씬 설치가 편합니다.
저는 시놀로지가 있기 때문에 시놀로지의 컨테이너 매니저를 이용해서 Couch DB를 설치해 보겠습니다.
1. 시놀로지에서 CouchDB를 저장할 공용폴더 생성
CouchDB를 저장하기 위한 폴더 생성을 위해 먼저 File Station을 실행합니다.
그리고 저같은 경우 docker 라는 폴더를 이용하기 때문에
obsidian_livesync 라는 폴더를 생성하고, 그 하위에 data와 conf 폴더를 생성했습ㄴ다.
다음과 같이 폴더를 구성했습니다.
실제 경로는 다음과 같습니다.
/volume1/docker/obsidian_livesync/data
/volume1/docker/obsidian_livesync/conf
이어서 이제 CouchDB 를 설치하기 위해 먼저 Docker Hub에서 CouchDB가 어떻게 셋팅되어 있는지 확인해 보겠습니다.
2. CouchDB의 docker hub 확인
다음 공식 사이트에서 한번 확인해 보세요.
https://hub.docker.com/_/couchdb
couchdb - Official Image | Docker Hub
Quick reference Quick reference (cont.) What is Apache CouchDB? Apache CouchDB™ lets you access your data where you need it by defining the Couch Replication Protocol that is implemented by a variety of projects and products that span every imaginable co
hub.docker.com
공식 폴더의 내용을 이용해서 더 쉽게 셋팅할 수 있도록 제가 yaml 파일을 만들었습니다.
인터넷상 보면 많은 docker-compose 파일들이 있는데,
저는 군더더기 없이 공식사이트를 이용해서 깔끔하게 다음과 같이 구성했습니다.
다음 코드로 docker-compose.yml로 만들어 보세요.
version: "3.9"
services:
couchdb:
image: couchdb
container_name: obsidian-livesync
environment:
- COUCHDB_USER=관리자계정
- COUCHDB_PASSWORD=관리자비밀번호
volumes:
- /volume1/docker/obsidian_livesync/data:/opt/couchdb/data
- /volume1/docker/obsidian_livesync/config:/opt/couchdb/etc/local.d
ports:
- 5984:5984
restart: unless-stopped
관리자계정 정보는 수정하셔야 합니다!!
그리고 위의 파일을 /volume1/docker/obsidian_livesync/에 올립니다.
즉 정리하면 다음과 같은 위치에 파일이 생성됩니다.
/volume1/docker/obsidian_livesync/docker-compose.yml
그리고 시놀로지의 Container Manager를 실행합니다.
3. Container Manager에서 프로젝트 생성
Container Manager에서 프로젝트를 선택한 후 생성을 누릅니다.

그리고 다음과 같이 프로젝트 이름과
경로 설정 버튼을 눌러서 위치한 /docker/obsidian_livesync를 선택합니다.
그러면 다음과 같이 메세지 창이 뜰꺼에요.
여기서 "기존 docker-compose.yml을 사용하여 프로젝트 만들기"를 선택한 후 확인을 누릅니다.

웹 포털은 추후 가상호스트로 셋팅하기로 하고 넘어갑니다.
그러면 다음과 같이 생성이 된 것을 확인할 수 있습니다.

초록색 동그라미가 뜨면 성공입니다.
그리고 실행이 되면 다음의 위치로 접속해 봅니다.
http://시놀로지IP:5984
그러면 다음과 같이 로그인하라고 합니다.
여기서 docker-compose에 입력했던 관리자계정과 관리자비밀번호를 입력해주세요.

그러면 다음과 같이 나온다면 일단 couch db 설치는 성공입니다.

여기서 좀 더 나아가서 다음과 같이 입력하면 CouchDB를 관리하는 툴을 보실 수 있습니다.
http://시놀로지IP:5984/_utils/

여기까지 설정이 되었으면 일단 큰 산 하나는 넘어갔습니다.
이어서 또 설정하는 방법은 다음 편에서 알려드리겠습니다.
여기까지 따라오시느라 고생하셨습니다.