Skip to content

Backup and Restore

Bob McGlobus edited this page Sep 16, 2026 · 2 revisions

Backup and Restore

Settings → Backup & Restore exports a single ZIP and restores from one. Since backup format v2 the archive contains everything needed to rebuild a deployment:

murdock_backup_YYYYMMDD_HHMMSS.zip
├── manifest.json            # version, counts, includes_settings
├── settings.json            # full settings table (see below)
├── stt_services.json        # speech-to-text services, keys included
└── speakers/
    └── <name>/
        ├── speaker.json     # name, role, HA user id, sample metadata
        └── sample_001_recording.wav …

settings.json covers: verify threshold (global + per-satellite), extraction & calibration settings (including the fitted parameters), unknown-logging, auto-enroll, quality weights, the speech-to-text roles, MQTT configuration, HA REST configuration, the media-restriction matrix and advertised languages.

⚠ Secrets: the settings dump includes your configured credentials — HA long-lived token, MQTT password, and in stt_services.json every speech-to-text service's API key — so a restore works without re-entering them. Treat the ZIP like a password file.

Restore

Upload the ZIP under Backup & Restore and pick a mode:

  • Merge — adds new speakers, skips names that already exist.
  • Replace — deletes ALL current speakers first, then imports.

Settings are restored from v2 archives automatically (API: restore_settings=false skips them). After the import, Murdock re-applies everything live — HA client, MQTT client, thresholds and calibration — so no restart is needed. v1 archives (speakers only) restore fine; the settings step is simply skipped.

Migration recipe (add-on ↔ docker-compose)

The backup is deployment-agnostic:

  1. Old instance: download the backup ZIP.
  2. New instance: install Murdock, open the Web UI, restore with Replace.
  3. Check Settings → MQTT — broker host may differ between deployments (core-mosquitto vs. a LAN IP).

Clone this wiki locally