Skip to main content

Backup and Restore Settings

Donari keeps your settings in your account — if you want a personal copy, move settings to another account, or make a shareable template, we recommend you export a backup to a JSON file.

What's covered:

  • TTS provider, voice, and fallback settings
  • Connections (token / OAuth / API keys — opt-in)
  • Overlay preset, styling, leader icons
  • Alert mappings + tiers
  • Plugin configs (Timer / Cards / Wheel)
  • Filters, theme, chat retention

What you'll need​

  • A decision on whether to include API keys in the backup (don't, if you plan to share)
  • A bit of disk space for the JSON file (around 10–100 KB)

Step 1 — Open the Backup tab​

  1. Go to Settings (sidebar)
  2. Pick the Backup tab

The tab has 3 sections: Export, Restore, Chat Retention.


Step 2 — Export a backup​

  1. Set the Include API Keys? toggle
    • On — include Streamlabs token, OAuth tokens, API keys in the JSON (for personal backups)
    • Off — exclude secrets (for sharing a template with someone else)
  2. Click Export Backup
  3. The app downloads a JSON file (e.g. Donari-backup-2026-04-29.json)

:::warning Don't share backups that include API keys With "Include API Keys" on → the file contains secrets that can sign in to your real accounts. Keep it private — never upload to public cloud or a git repo. :::


Step 3 — Restore from a backup file​

  1. In the Restore section, click Select Backup File
  2. Pick the JSON file you exported
  3. The app shows a confirmation dialog — click Confirm to overwrite your current settings
  4. After restore — the app reloads automatically to pick up the new settings

:::caution Restore overwrites your current settings Restore isn't a "merge" — it replaces every setting present in the backup. If you're unsure, export your current settings first so you can roll back. :::


Step 4 — What's not in a backup​

Backups only include settings. The following are not in the JSON file:

  • ❌ Donation history (lives in SQLite — use Export CSV on the History page instead)
  • ❌ Alert sound files (.mp3/.wav — re-upload manually)
  • ❌ Overlay images / GIFs — re-upload manually
  • ❌ Card deck images / Card cover — re-upload manually
  • ❌ Spin sound for the Wheel — re-upload manually
  • ❌ Chat history (governed by Chat Retention)
  • ❌ TTS audio cache (regenerated automatically)

Uploaded files (sounds / images) live with your account on the server — they stay intact when you sign in to the same account, but they're not included in the JSON file (re-upload if you restore into a different account).


Step 5 — Configure Chat Retention​

The same tab has a Chat Retention section:

  • Auto-cleanup toggle — when on, the system deletes old chat every 6 hours
  • Retention Days slider — how many days to keep chat (range 1–365, default 30)

:::tip Counters are kept forever Retention only deletes "message content" — per-viewer message counters are kept indefinitely so you can still see top chatters. :::


Tips & Troubleshooting​

  • After restore, OBS overlay didn't change: the browser source might be cached — right-click in OBS → Refresh.
  • TTS not playing after restore: if the backup didn't include API keys, re-add them in Connections.
  • Backup file is unusually large: the "Include API Keys" toggle barely changes the size — normal is < 200 KB.
  • Uploaded overlay images / sounds: these live with your account on the server — no manual backup needed (they're just not in the JSON file).
  • Scheduled auto-backup: not built-in yet — we recommend manually exporting before each major version update.

See also​