본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

obsidian-headless

0

obsidian-headless는 Belphemur가 개발한 Go 기반의 헤드리스(무 GUI) 명령줄 클라이언트로, 데스크톱 앱 없이 Obsidian Sync와 Obsidian Publish를 사용할 수 있도록 해줍니다.

노트 동기화자동화

소개

obsidian-headless는 Belphemur가 개발한 Go 기반의 헤드리스(무 GUI) 명령줄 클라이언트로, 데스크톱 앱 없이 Obsidian Sync와 Obsidian Publish를 사용할 수 있도록 해줍니다. 서버, NAS, 라즈베리 파이 같은 무헤드 환경에서 볼트를 동기화하거나 CI/CD 파이프라인에서 문서 사이트 게시를 자동화하기 위한 목적의 커뮤니티 도구입니다. GPL-3.0 라이선스의 비공식 서드파티 프로젝트로, Obsidian 측의 공식 지원은 제공되지 않습니다.

상세정보

Obsidian Sync 헤드리스 동기화

로컬 볼트 디렉터리와 원격 볼트를 연결해 명령줄 한 줄로 동기화를 실행할 수 있습니다. 일회성 동기화와 변경 사항을 감시하는 연속(continuous) 모드를 모두 지원하며, 양방향 동기화가 기본값입니다. 풀 전용 또는 미러 모드, 충돌 시 병합/충돌 보존 전략 등 동기화 동작을 세부 조정할 수 있습니다.

효율적인 이름 변경 감지

파일이 로컬 또는 다른 원격 디바이스에서 이름이 변경된 경우, 동기화 엔진이 이를 감지해 삭제 후 재다운로드 대신 제자리에서 이름을 바꿉니다. 원격 이름 변경은 UID 매칭을 우선 사용하고 해시 기반 폴백을 적용해 대용량 파일과 대량 정리 작업 시 불필요한 네트워크 전송과 CPU 사용을 줄입니다.

Obsidian Publish 명령줄 게시

로컬 파일 해시를 원격 사이트와 비교해 변경된 파일을 업로드하고 삭제된 파일을 제거하는 방식으로 볼트를 게시 사이트에 반영합니다. 프런트매터의 publish 플래그, 포함/제외 패턴, –all 옵션을 조합해 게시 대상 파일을 정밀하게 선택할 수 있으며, –dry-run으로 변경 사항을 미리 확인할 수 있습니다.

계정·볼트·사이트 관리 명령

로그인/로그아웃, 원격 볼트 목록 조회와 신규 생성, 로컬 볼트 연결 설정과 해제, 게시 사이트 목록 조회와 생성, 사이트 연결 설정과 해제 등 Sync와 Publish에 필요한 일련의 관리 작업을 명령줄에서 수행할 수 있습니다. 글로벌 옵션으로 API 기본 URL, HTTP 타임아웃, 로그 레벨을 지정할 수 있습니다.

E2E 암호화 지원

볼트 생성 및 동기화 설정에서 표준(managed) 또는 E2EE(엔드투엔드) 암호화를 선택할 수 있습니다. E2EE 볼트는 V2/V3 암호화 프로토콜을 사용하며 데이터가 디바이스를 떠나기 전에 암호화되는 zero-knowledge 방식으로 보호됩니다.

Docker 네이티브 실행

ghcr.io에 공식 Docker 이미지가 제공되며 s6-overlay 프로세스 감독을 포함합니다. 환경 변수를 통한 설정으로 컨테이너 환경의 연속 동기화, 자동화 배포에 그대로 활용할 수 있습니다.

Q. 이 도구를 사용하려면 Obsidian 계정이 필요한가요?

Sync와 Publish 기능을 사용하려면 Obsidian 계정이 필요하며, Obsidian Sync/Publish는 유료 서비스로 별도 구독이 요구됩니다.

Q. 데스크톱 Obsidian 앱 없이도 모든 기능을 사용할 수 있나요?

Sync와 Publish 관련 작업은 데스크톱 앱 없이 명령줄에서 수행할 수 있으나, 본 도구는 Obsidian의 공식 제품이 아니므로 일부 동작은 커뮤니티 버전에 한정됩니다.

Q. 어떤 운영체제를 지원하나요?

Windows, macOS, Linux 모두에서 동작하며 각 OS별 네이티브 패키지 또는 Homebrew, winget, Go 설치, Docker 이미지로 배포됩니다.

시스템 요구사항

  • Windows 10 이상, Linux 또는 macOS 운영체제 (x64 아키텍처)
  • Go 1.26 환경에서 빌드 가능 (소스 빌드 시)
  • Obsidian Sync 및 Obsidian Publish 사용을 위한 Obsidian 계정과 인증 정보
  • E2EE(엔드투엔드 암호화) 볼트 사용 시 볼트 비밀번호
  • Docker 이미지 실행을 위한 Docker 환경
  • 민감 정보는 OS 키링 사용을 전제로, 필요 시 암호화된 SQLite 저장소로 대체