Headless Go client for Obsidian
Headless Go CLI client for Obsidian Sync and Obsidian Publish
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.