Skip to content

Backups and Data

icemanxbe edited this page Jun 17, 2026 · 1 revision

Backups & Data

Your entire MeadOS world lives in one SQLite file, which makes backups and recovery refreshingly simple.

Where everything is stored

Data Location
All brewing data (batches, recipes, cellar, supplies, settings…) meados.db (SQLite)
Uploaded images (label art, photos, brand logo) files under assets/labels/, assets/photos/, assets/brand/
The app itself index.html, app.js, app.css, server.py, sw.js

The database has two tables that matter for recovery: state (the current data) and history (the last 50 saves).

Backups

The simplest backup is to copy one file:

cp meados.db meados-backup-$(date +%F).db

This is safe to do while the server is running (SQLite is in WAL mode). For a complete backup, also include the assets/ folder (your uploaded images) — though those are easy to re-upload if lost.

You can also export the full dataset as JSON from Settings → Data Backup → Export, and re-import it later.

How saves work

Every browser that opens MeadOS reads and writes the same shared data. Saves are debounced and pushed automatically. If the server is briefly unreachable, edits are cached in the browser's local storage and re-synced when it comes back. Concurrent edits from two devices are guarded so one save doesn't silently clobber another.

The history table & restore

Every save is also appended to a history table (the last 50 are kept), so an accidental overwrite is recoverable. You can restore:

  • In the app — Settings has a history/restore view to roll back to an earlier snapshot.

  • From the database directly:

    sqlite3 meados.db "SELECT id, saved_at, length(data) FROM history ORDER BY id DESC LIMIT 10;"
    sqlite3 meados.db "SELECT data FROM history WHERE id = <n>;" > recovered.json
    # then import recovered.json via Settings → Data Backup → Import

Moving to another machine

  1. Stop the server.
  2. Copy meados.db (and the assets/ folder) to the new machine's MeadOS folder.
  3. Start the server there.

Everything comes with it — there's no separate configuration to migrate.

Unused images cleanup

Uploaded images are content-addressed and de-duplicated. Settings → Unused Images scans for files no longer referenced by any batch, recipe or history snapshot and lets you delete them to reclaim space.

See also

Clone this wiki locally