아티스트들이 영감이 떠오를 때를 대비해 늘 펜을 곁에 두듯, 나 아겨시 생각과 데이터를 빠르게 기록하기 위해 옵시디언(Obsidian)을 적극적으로 활용하고 있다. 이전 글에서 소개했듯 내 모든 기기에는 옵시디언이 설치되어 있고, ‘Remotely Save’ 플러그인을 통해 기기간 동기화를 유지해 왔다.

늘어나는 기기와 동기화의 한계

처음에는 스마트폰 하나로 모든 것을 기록하고 관리하려 했다. 하지만 업무 중 스마트폰을 계속 붙잡고 있을 수는 없었고, 자연스레 태블릿과 PC를 병행해 자료를 정리하기 시작했다. 문제는 연동해야 할 기기가 늘어날수록 완전한 동기화 환경을 유지하기가 까다로워졌다는 점이다.

특히 나는 새 글을 쓰는 것만큼이나 과거의 기록을 빠르게 검색하고 열람하는 데 많은 시간을 쓴다. 노션을 추가로 연동할까 고민도 했지만, 최종적으로는 마크다운 볼트를 정적 웹사이트로 빌드해 주는 Quartz를 도입하기로 했다. GitHub 저장소에 노트를 푸시하면, GitHub Actions가 자동으로 웹페이지를 빌드해 브라우저만 있으면 어디서든 내 노트를 열람할 수 있는 구조를 만들었다.

모바일 환경과 Git 사이의 괴리

하지만 이 파이프라인을 구축하면서 한 가지 병목이 생겼다. 모바일(스마트폰, 태블릿) 환경에서는 Git을 매끄럽게 다루기가 까다로웠다. 모바일에서는 익숙한 Dropbox 기반의 Remotely Save가 가장 편했지만, Quartz 배포를 위해서는 GitHub 저장소의 커밋 히스토리가 기준이 되어야 했다. Dropbox와 Git이라는 두 갈래의 동기화 방식이 충돌하면서 파일 버전과 히스토리가 꼬이는 문제가 발생했다.

Rsync와 홈 서버를 활용한 브릿지 구축

이 충돌을 해결하기 위해 집에서 상시 구동 중인 홈 서버와 Rsync를 연결 고리 삼아 문제를 해결하기로 했다. 각각의 상황을 유저 스토리로 정리하면 다음과 같아진다.

  1. 모바일에서는 평소대로 DropBox(Remotely Save)를 통해 가볍게 메모를 동기화한다.
  2. 홈 서버는 Dropbox 폴더와 로컬 Git 저장소의 변경점을 Rsync로 비교하고 동기화한다.
  3. 변경된 파일만 깔끔하게 추려진 Git 저장소에서 최종적으로 커밋 후 Github로 푸시한다.

데이터도 직접 점검해야 하고 푸시도 손으로 직접 해야해서 완벽한 자동화라고 보긴 어렵다. 그래도 이 정도면 스스로가 납득 가능할 타협점이라 생각했다. 지난 한 주 동안 웹페이지 연동 문제로 꽤 답답했는데, 생각보다 깔끔하게 마무리 되었다. 이제 본래 목적인 ‘순간의 상태 기록’에 다시 집중해 보려 한다.