해당 포스트에선 Obsidian의 유료 기능인 Sync와 Publish를 구독하지 않고 해당 기능을 구현하여 Obsidian을 사용하는 방법에 대해 설명한다.
일단 Obsidian Sync는 Obsidian 자체 Cloud를 통해 로컬에 저장된 Obsidian Vault를 여러 디바이스 Sync하여 동시에 접근가능하게 만든 기능이며, Obsidian Publish는 Obsidian 노트를 개인 블로그화 시켜 바로 퍼블릭에 공유 가능하도록 만들어주는 기능이다.
요즘 달러 상황을 고려했을때 해당 기능을 꾸준히 사용하는건 부담되는 가격이 아닐 수 없다. 외제차 살돈 있어도 주차값 낼 돈 없는 한국인들에겐 용납할 수 없는 가격이다.

여러 디바이스에서 문서작업을 하거나 해당 문서를 바로 개인 블로그에 공유하고 싶을때 유용하기 쓰이길 바란다.
목표
최종적으로 해당 기능을 무료로 구현할 경우, 기존 Obsidian 사용자들은 기존 에디터 환경을 그대로 유지하면서도 Sync 및 Publish 기능을 통해 효율적인 노트 테이킹과 퍼블리싱을 수행하고, 이를 이 블로그 형태로 활용할 수 있다.
최종적으로 아래와 같은 Integration을 완성할 수 있다.

결과적으로 단순한 노트 앱을 넘어, Obsidian을 지식 관리 시스템 + 퍼블리싱 플랫폼으로 확장할 수 있다.
물론 공식 Sync/Publish 대비 UI나 편의성 측면에서 약간의 차이는 있지만, 비용 부담 없이 유사한 기능을 충분히 구현할 수 있다는 점에서 이 방법은 충분히 매력적인 선택지다.
필수 조건
Obsidian

옵시디언 공식 웹사이트에서 각 OS에 맞게 옵시디언을 설치한다.
옵시디언 다운로드 링크: https://obsidian.md/download
Quartz 4
Quartz 4는 Jacky Zhao라는 개발자가 만든 Obsidian 노트를 빠르게 블로그 포스트화 시켜주는 오픈소스 마크다운 프로그램이다.
깃헙 링크: https://github.com/jackyzha0/quartz Documentation 링크: https://quartz.jzhao.xyz/
Quartz4를 개인 깃헙에 Fork시켜야한다. Quartz 깃헙 설정 방법 아래 Step by Step 튜토리얼에서 설명한다.
Cloudflare 계정
아래 링크를 통해 계정을 만든다. Cloudflare Dashboard | Manage Your Account

Github 계정
아래 링크를 통해 계정을 만든다. 2. Sign up for GitHub · GitHub
도메인 (옵션)* 개인 블로그/웹사이트 주소를 위한 도메인을 하나 구입한다. 해당 항목은 선택 사항이며, 저렴한 도메인 제공업체를 이용할 경우 연간 약 1~2만 원 수준으로 도메인을 구매할 수 있습니다.
.kr TLD가 필요하다면 국내 도메인 제공처를 이용해야 한다. 예를들어 redraccoon.kr과 같은 kr 도메인이 필요하면 **가비아**와 같은 국내 제공처를 이용하면 된다.
Step by Step 튜토리얼
1. Quartz 로컬에 설치하기
CLI 환경 (e.g Windows CMD)에서 아래와 같이 Clone 한 뒤 설치한다.
git clone https://github.com/jackyzha0/quartz.git
cd quartz
npm i
npx quartz create

설치가 완료되면 아래 커맨드를 이용하여 로컬에서 build를 진행한다. 로컬 호스트 8080 주소에 Quartz에 실행되는 걸 알 수 있다.
npx quartz build --serve

http://localhost:8080 주소에서 Quartz가 정상적으로 구동되는 지 다시한번 확인한다.

2. Github 사용하여 Obsidian Sync 기능 구현하기
Github 계정을 만들었다면 깃헙 → Dashboard에 들어가 아래와 같이 새 Repo를 만든다.

Visiblity는 Private으로 설정해준다.

Git 리포를 Obsidian과 연동하기
리포를 만들면 아래와 같이 깃헙 URL을 생성한다. 해당 URL을 복사한 후

아래 command에서 REMOTE-URL을 해당 URL로 바꿔준 후 순차적으로 진행하면 된다.
git remote set-url origin <REMOTE-URL로 바꿔주세요>
git remote add upstream https://github.com/jackyzha0/quartz.git
npx quartz sync --no-pull
Obsidian을 실행한 뒤 위에 만들어 둔 Open folder as vault의 quartz 폴더를 연다.

Obsidian Setting (톱니바퀴 모양) → Community plugins → Browse에 가면 Obsidian에서 무료로 사용가능한 플러그인을 찾을 수 있다.

깃헙과 연결하기 위해 아래 Git 플러그인을 설치한 뒤 활성화 (Enable)을 한다.

그리고 설치된 Git 플러그인 Option으로 들어가 아래와 같이 Commit author에 Author 이름과 이메일을 알아서 적어준다. 해당 파트는 필수지만 name email은 깃헙 계정과 꼭 같지 않아도 된다. 만약 다른 이름과 이메일로 commit하기 원한다면 랜덤한 인풋을 넣어줘도 무방하다.

이제 아래와 같이 content 폴더에 새 md 파일을 생성해준 뒤 오른쪽 Git 설정에서 Git Commit을 해준 뒤

Git Push를 눌러주면 최종적으로 Github 리포에 싱크가 되는걸 확인 할 수 있다 .


이렇게 해서 Obsidian → Github으로의 로직을 구현하여 옵시디언 Sync 기능을 사용할 수 있다. 이렇게 하면 다른 디바이스에서 똑같이 Git 플러그인을 사용해 Git Pull을 하여 여러 디바이스에서도 해당 기능을 사용할 수 있게 된다.
Sync 기능을 구현했으니 이젠 중간에 Quartz4로 블로그화 시켜준 뒤 Cloudflare로 Publish 기능을 구현해보자.
3. Cloudflare 이용하여 Obsidian Publish 구현하기
Cloudflare Pages를 사용해서 Fronted Static Hosting 기능을 이용하면 퍼블릭 호스팅을 무료로 할 수 있다.
Cloudflare에서 Pages 생성
아래와 같이 Build → Compute → Workers & Pages로 들어간 후 Create application을 해준다.


아래 Looking to deploy Pages? Get started를 눌러준 후 위에 만들어준 /blog Git Repository와 연결하면 된다.

Github에서 Cloudflare에 권한 부여하기
Cloudflare에서 Github을 연동하기 위해선 먼저 Github에서 연동할 깃헙 리포에 Cloudflare 권한을 부여해야 한다.
Github Setting으로 들어간 뒤 Integrations → Applications에 들어가 Cloudflare Workers & Pages 앱을 다운 받은 후 Configure로 들어간다.


그리고 Repository access에서 Only select repositories를 누른 뒤 해당 리포 (i.e blog)를 설정한후 Save로 저장해 준다.

그리고 다시 Cloudflare로 들어가 Get Started를 눌러준 뒤 해당 blog 리포를 선택해주면 된다.

그다음 Framework 는 None으로 설정, Build Command는 npx quartz build, Build output directory는 public 으로 설정한 뒤 Save and Deploy를 눌러준다.

문제가 없다면 아래와 같아 성곡적으로 옵시디언을 통해 깃헙에 저장된 Quartz4 블로그가 Cloudflare Pages에 Deploy 된 것을 알 수 있다.
아래와 같이 xxx.pages.dev URL로 접근해보면 퍼블릭에 블로그가 호스팅 된 것을 알 수 있다.


4. 개인 도메인으로 연결하기 (옵션)
만약 Cloudflare에서 디폴트로 제공하는 pages.dev 도메인이 아닌 개인 도메인으로 호스팅하고 싶으면 아래와 같이 따라하면 된다.
도메인 구입 및 Cloudflare 도메인 등록
일단 도메인을 구매한다. 해당 항목은 선택 사항이며, 저렴한 도메인 제공업체를 이용할 경우 연간 약 1~2만 원 수준으로 도메인을 구매할 수 있습니다.
.kr TLD가 필요하다면 국내 도메인 제공처를 이용해야 한다. 예를들어 redraccoon.kr과 같은 kr 도메인이 필요하면 **가비아**와 같은 국내 제공처를 이용하면 된다.
그게 다 귀찮다면 Cloudflare에서 직접 Domain을 구매할 수 있으니 참고 바란다. (Cloudflare 메뉴 → Domain → Buy a domain)
Cloudflare에 바로 등록할 도메인이 있다면 Domain → Onboard a domain을 눌러 바로 등록하면 된다.

아래와 같이 도메인을 적은 후 디폴트 설정으로 Continue를 눌러준 뒤,

구매한 도메인 프로바이더의 도메인 DNS 설정에서 Custom DNS를 누른 후 아래와 같이 cloudflare DNS 설정을 넣어주면 성공적으로 도메인이 Cloudflare에 연결된다.

예를들어 redraccoon.kr을 연결했다면 아래와 같이 Domain management에 redraccoon.kr이 Active 상태로 떠야 성공적으로 연결된거다.

Cloudflare Pages 블로그에 개인 도메인 연결
이제 다시 Workers & Pages → <해당 page> → Custom domains → Set up a custom domain로 들어간다.

그리고 서브도메인 (Subdomain e.g abcd.redraccoon.kr에서 abcd 파트를 서브도메인이라 부른다)을 알아서 설정해준다.

그런다음 Activate domain으로 마무리해주면

아래와 같이 해당 서브도메인이 Active 상태로 활성화 된 것을 알 수 있다.

이제 브라우저에서 note.redraccoon.kr로 들어가면 아래와 같이 개인 도메인으로 개인 블로그를 퍼브리슁할 수 있게 된다!

이제 Obsidian에서 노트를 적은 뒤 Git Commite과 Push를 진행하면

Cloudflare Workers & Pages Deployments에 실시간으로 해당 변경사항이 Status를 볼 수 있다.

아래와 같이 초록색 체크 표시가 나와야 성공적으로 빌드되었다는 뜻이다.

그리고 새로고침을 하면 해당 변경사항이 실시간으로 반영된다.

참고로 블로그 포스팅용이 아닌 Private Note로만 남기고 싶다면 아래와 같이 notes 폴더를 따로 만들어주고 Github에 Commit & Push만 해주면 된다. 어차피 Quartz는 content 폴더 안의 내용만 Publish 되도록 설정되어 있기 때문에 content 밖의 내용은 보이지 않는다.

마치며
이 글에서는 Obsidian의 유료 기능인 Sync와 Publish를 사용하지 않고도, GitHub와 Quartz, 그리고 Cloudflare Pages를 활용해 동일한 워크플로우를 무료로 구현하는 방법을 살펴봤다.
처음에는 설정 과정이 다소 번거롭게 느껴질 수 있지만, 한 번만 구축해두면 이후에는 Obsidian에서 글을 작성하고 Git으로 커밋·푸시하는 간단한 흐름만으로 자동 동기화 + 자동 배포까지 한 번에 해결된다.
특히 이 방식의 가장 큰 장점은 아래와 같다:
- 특정 서비스에 종속되지 않는 완전한 데이터 소유권
- Git 기반으로 관리되는 버전 관리 및 백업 안정성
- 원하는 대로 커스터마이징 가능한 개인 블로그 환경
결과적으로 단순한 노트 앱을 넘어, Obsidian을 지식 관리 시스템 + 퍼블리싱 플랫폼으로 확장할 수 있다.
물론 공식 Sync/Publish 대비 UI나 편의성 측면에서 약간의 차이는 있지만, 비용 부담 없이 유사한 기능을 충분히 구현할 수 있다는 점에서 이 방법은 충분히 매력적인 선택지다.
이 글을 통해 자신만의 노트 환경을 한 단계 확장하고, 기록을 자산으로 쌓아가는 데 도움이 되었길 바란다.