Backing up sessions

Everything worth keeping is plain JSON under one directory. The backup is a copy of that directory, plus two configuration files.

What to copy

~/.local/state/openmixer/          # sessions, scenes, patches, channel configs, settings
~/.config/reac-pw/                 # the REAC transport configuration
/etc/openmixer/config.json         # the server's startup configuration

Use $XDG_STATE_HOME/openmixer instead of the first path if that variable is set.

A backup

tar czf ~/openmixer-backup-$(date +%F).tar.gz \
    -C "$HOME" .local/state/openmixer .config/reac-pw
sudo cp /etc/openmixer/config.json ~/openmixer-config-$(date +%F).json

The mixer does not need to be stopped: session files are written whole, and a copy taken mid-write is at worst one stale file among many.

For a rig that matters, take one before every upgrade and after every show whose session you want to keep.

Restoring

Stop the units first — the server holds console state in memory and would overwrite a restored autosave on its way out.

systemctl --user stop openmixer-server reac-pw
tar xzf ~/openmixer-backup-2026-07-28.tar.gz -C "$HOME"
systemctl --user start openmixer-server reac-pw

Moving a show to another machine

Sessions are portable, but they record the hardware they expected. Copy sessions/, scenes/, patches/ and channel-configs/ to the target machine's state directory and load the session from the surface. Those four are the show. The rest of the state directory is host-local rig state and is deliberately not on that list — but note that measurements/ (the measured plugin-latency store) and clock-ownership.json / rme-totalmix.json are expensive to rebuild, so a machine you are replacing rather than lending to should get the whole directory as in the section above. If the target rig lacks a box the session expected, the restore reports what is missing rather than presenting a console with silent channels.

Do not copy network-settings.json between machines unless you mean to: it carries the persisted bind address and ports, and it outranks the new machine's configuration.

Version compatibility

A session written by a newer server is not guaranteed to load into an older one. Keep the pre-upgrade copy until you have loaded a session on the new version and are satisfied.

What is not worth backing up

  • /usr/lib/openmixer/, /usr/share/openmixer/ — package-owned, reinstall instead.
  • The plugin catalog — it ships with the package.
  • The journal — see logs for collecting a diagnostic snapshot instead.