Skip to content

Updates Backups and Recovery

Nik Pottbecker edited this page Oct 12, 2026 · 1 revision

Updates, backup and recovery

Check the installed version

# macOS
"$HOME/Library/Application Support/IRL Server/app/irl-serverctl" version
"$HOME/Library/Application Support/IRL Server/app/irl-serverctl" check-update

# Linux
irl-serverctl version
irl-serverctl check-update

The update check is read-only. Review the release notes before upgrading.

Update procedure

Schedule an interruption: the installer reloads both services.

macOS

cd tailnet-irl-server
git pull --ff-only
./install-macos.sh
./selftest-macos.sh
"$HOME/Library/Application Support/IRL Server/app/irl-serverctl" version

Linux

cd tailnet-irl-server
git pull --ff-only
sudo ./install.sh
sudo ./selftest.sh
irl-serverctl version

Installers replace application files and the MediaMTX binary, but preserve existing credentials.env, profile.env and recording.env.

What to back up

Minimum identity/configuration backup

  • credentials.env
  • profile.env
  • recording.env

These preserve current connection URLs and behavior. Store the backup encrypted because it contains working secrets.

Full state backup

Also include:

  • connection-history.json
  • Recordings you want to retain

The rendered mediamtx.yml does not need to be backed up; it is regenerated from template, credentials and recording configuration.

Example backup

Stop or disable recording first if you need a consistent recording copy.

macOS configuration archive:

tar -czf tailnet-irl-config-backup.tar.gz \
  -C "$HOME/Library/Application Support/IRL Server" config

Linux configuration archive:

sudo tar -czf tailnet-irl-config-backup.tar.gz -C /etc irl-server

Move the resulting archive to encrypted storage and restrict access. A backup that remains only on the server disk does not protect against disk loss.

Recovery on the same platform

  1. Install Tailscale and connect the replacement server to the intended Tailnet.
  2. Clone the same or a newer supported Tailnet IRL Server release.
  3. Run the installer once to create directories and services.
  4. Stop both services.
  5. Restore configuration files with their restrictive ownership and permissions.
  6. Run the installer again to render configuration for the new Tailscale IP.
  7. Run the platform self-test.
  8. Open the dashboard and test Moblin plus OBS before production.

If the credentials are restored, existing Moblin/OBS URLs remain valid except for the server IP portion. Re-importing/copying from the new dashboard is still recommended.

Roll back application code

Use a known release checkout, then rerun the installer:

git fetch --tags
git checkout v1.6.0

Run the platform installer and self-test. Do not restore an older rendered mediamtx.yml; let the selected release regenerate it.

Return to the current branch later with:

git checkout main
git pull --ff-only

Uninstall retention

Both uninstallers intentionally preserve configuration and state. On Linux, /etc/irl-server and /var/lib/irl-server remain. On macOS, ~/Library/Application Support/IRL Server/ remains. Deleting retained data is a separate manual action and should happen only after verified backups.

Clone this wiki locally