Raspberry Pi notes

obsidian-remote-ssh runs comfortably on Raspberry Pi 4 / 5 / Zero 2 W. The daemon is a single Go binary — no runtime deps beyond the Linux kernel + glibc.

  • Raspberry Pi OS (Bookworm) or Ubuntu Server 22.04+ for arm64.
  • SSH enabled (raspi-config → Interface Options → SSH).
  • Your public key in ~/.ssh/authorized_keys on the Pi.
  • A vault directory: mkdir ~/notes.

First-time install

Just connect via the plugin — the auto-deploy uploads the right binary (obsidian-remote-server-linux-arm64) and starts it.

Performance notes

Pi modelVault size handled comfortablyNotes
Pi 5100k+ files, multi-GBEffortless. Use this for a “primary” home vault.
Pi 4 (4–8 GB)~30k files, 1–2 GBExcellent — the sweet spot for most users.
Pi 3B+~10k filesOK for moderate vaults; SD card I/O is the bottleneck.
Pi Zero 2 W~5k filesWorks; expect 100–200 ms RPC latency.

The daemon idles at ~5 MB RSS. Watcher subscriptions add ~50–100 KB each. Concurrent reads/writes spike CPU briefly but the steady state is near-zero.

SD card vs SSD

Vault on SD card: fine, but fs.walk on a large vault can take 5–10s on the first cold-cache call. Vault on a USB-attached SSD: ~10× faster cold reads, much better for vaults > 5k files.

Long-lived daemon

The plugin’s auto-deploy reuses an already-running daemon when one is healthy (reuse probe) and only redeploys when reuse fails. For a Pi you’ll keep on 24/7, run the daemon under systemd so it survives Pi reboots — the plugin will pick it up on connect via the reuse path.

Cooling / throttling

Sustained fs.walk on a large vault, with no heatsink on a Pi 4, will throttle. Add a basic heatsink — the daemon stays out of throttle thereafter.

Headless mode

Many Pi setups have no monitor attached. SSH all the way:

sudo loginctl enable-linger $USER       # services survive logout
systemctl --user enable --now obsidian-remote-server   # see [[en/server/systemd|systemd]]

Next: Binary signing.