Goback

Scheduled pull-based backup manager for Home Assistant APIs, remote SSH/SCP hosts, and local services.

Overview

Goback is a resilient, scheduled pull-based backup manager designed for home networks, self-hosted infrastructure, and developer workstations.

It automates downloading, verifying, and retaining snapshots from diverse services without exposing inbound management ports to the internet.


Features

  • Home Assistant API Backups: Triggers backup creation via REST, streams progress over WebSockets, and downloads complete archives via signed URLs.
  • SSH/SCP Pull Operations: Pulls backup archives from remote servers via SSH agent authentication or dedicated keypairs, validating host keys against ~/.ssh/known_hosts.
  • Atomic File Transfers: Backups are written to .partial staging files and renamed only after checksums and file size validations match.
  • Exponential Backoff Retries: Background daemon retries transient network interruptions with jitter and failure notifications.
  • Retention Pruning: Automatically trims stale backups beyond configured time or count thresholds.
  • 1Password Secret Resolution: Natively resolves op:// vault references for API tokens and SSH keys without storing credentials on disk.

Installation

zsh — install goback
$ brew tap tanagersoftware/tap $ brew install goback

Quick Example

Start the daemon or run an immediate sync:

zsh — run backup
$ goback run home-assistant $ goback status