Headless Go client for Obsidian
Home
Getting Started
  • Overview
  • macOS
  • Linux
  • Windows
  • Docker
  • From Source
  • Overview
  • Authentication
  • Sync
  • Publish
  • Configuration
  • Overview
  • Sync Protocol
  • Encryption
  • REST API
  • Circuit Breaker
GitHub
Home
Getting Started
  • Overview
  • macOS
  • Linux
  • Windows
  • Docker
  • From Source
  • Overview
  • Authentication
  • Sync
  • Publish
  • Configuration
  • Overview
  • Sync Protocol
  • Encryption
  • REST API
  • Circuit Breaker
GitHub
Headless Go client for Obsidian Logo

Headless Go client for Obsidian

Headless Go CLI client for Obsidian Sync and Obsidian Publish

Get StartedView on GitHub

Headless Sync

Run Obsidian Sync on servers, NAS devices, or Raspberry Pi. Continuous daemon mode keeps your vault in sync without a GUI.

Headless Publish

Publish your vault to Obsidian Publish from the command line. Automate deployments in CI/CD pipelines.

E2E Encryption

End-to-end encrypted vaults with V2/V3 encryption. Your data is encrypted before it leaves your device — zero-knowledge.

Cross-Platform

Available on Linux, macOS, and Windows. Native packages for apt, dnf, pacman, apk; Homebrew Cask for macOS; manual download for Windows.

Docker Native

Official Docker images on ghcr.io with s6-overlay process supervision. Run sync as a container with environment-based configuration.

CLI-First

Full Cobra-based CLI with every Obsidian Sync and Publish operation. Automate, script, and integrate into your workflow.

Getting Started

Choose your setup and get the Headless Go client for Obsidian running in under 5 minutes:

  • Docker — Run sync as a container. Login, configure environment variables, and start.
  • Local CLI — Install the binary, log in, set up sync, and run it directly on your machine.
# Docker: one login, then docker compose up
docker run --rm -it -v ./config:/home/obsidian/.config --entrypoint get-token ghcr.io/belphemur/obsidian-headless:latest

# Local: install, login, setup, run
brew install --cask obsidian-headless   # (or your platform's package)
ob login
ob sync-setup --vault "My Vault" --path /path/to/vault
ob sync-run --continuous

See the full Getting Started guide for detailed step-by-step instructions.

What is the Headless Go client for Obsidian?

The Headless Go client for Obsidian is a CLI companion for Obsidian Sync and Obsidian Publish. It brings the full power of Obsidian's sync and publish engines to the command line — no GUI required.

Perfect for:

  • Servers & NAS: Keep vaults in sync on headless Linux machines
  • CI/CD: Publish documentation sites automatically on push
  • Docker: Run sync as a container with environment variables
  • Automation: Script sync and publish operations in your workflow

⚠️ Third-Party Disclaimer

The Headless Go client for Obsidian is a third-party, community-maintained tool. It is NOT an official Obsidian product, and it is NOT supported by Obsidian.

If you encounter any issues, do NOT contact Obsidian support. Instead, please open an issue on GitHub.

GPL-3.0 Licensed | Copyright © 2026-present Belphemur | GitHub