2026-04-25 - Obsidian Vault Headless Sync Strategy

Overview

Obsidian vaults are synced continuously to ds9 (home server) using the official obsidian-headless CLI, making them available to agents, scripts, and tooling running on the server without requiring the desktop app.

Setup

Vaults

Vault Local path
2026 Personal /data/obsidian/2026-personal/
D&D: Witchlight /data/obsidian/dnd-witchlight/

Systemd Service

Sync runs as a persistent daemon via a template unit — one service file, one instance per vault.

[Unit]
Description=Obsidian Headless Sync (%i)
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=drew
WorkingDirectory=/data/obsidian/%i
ExecStart=/usr/bin/ob sync --continuous
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target

Enabled instances

obsidian-sync@2026-personal.service
obsidian-sync@dnd-witchlight.service

Adding a new vault

A new vault directory must be associated with Obsidian Sync before the service can run headlessly:

mkdir -p /data/obsidian/<name>
cd /data/obsidian/<name>
ob sync-setup   # interactive: pick the vault from a list
sudo systemctl enable --now obsidian-sync@<name>.service

Rationale

Future Work