Skip to Content
InstallationUpgrading and backups

Upgrading and backups

What to back up

  1. The latestarr-data volume. It holds the SQLite database: sources, recipients, newsletters, designs, and send history.
  2. Your ENCRYPTION_KEY.
🚫

You need both. A database without its key is unrecoverable: every source credential, SMTP password, and webhook URL in it is encrypted with that key. Losing the volume but keeping the key is just an ordinary restore from backup.

One way to copy the volume while the container is stopped:

docker compose stop docker run --rm -v latestarr-data:/data -v "$PWD":/backup alpine \ tar czf /backup/latestarr-data-$(date +%F).tar.gz -C /data . docker compose start

Upgrading

⚠️

LatestArr is pre-1.0, so releases can include breaking changes. Back up first, and read the release notes  for every version you’re skipping.

docker compose pull docker compose up -d

Database migrations run automatically when the container starts. There’s no separate migration step.

To stay on a particular version, set LATESTARR_VERSION in .env (for example v0.11.2) instead of tracking latest. See Image tags.

Upgrading to 0.11.1

LatestArr now checks ENCRYPTION_KEY at startup. Existing installs already have one set, so most upgrades need nothing. If the container stops straight after upgrading, run docker logs latestarr: it names the problem with the key. Restore the key your sources and SMTP profiles were saved with; a new key can’t read them.

Upgrading to 0.11

0.11 replaces the old drag-and-drop template editor with Designs. The upgrade handles this for you:

  • Templates you built in the old editor become code designs with their markup intact, so they send exactly as before.
  • Each newsletter’s intro, footer note, buttons, and font move into its design. Where one design was shared by newsletters with different text, LatestArr makes a copy per variation.
  • The old newsletter columns are kept, unused, for one release in case you need to roll back.

Old /templates links redirect to /designs.

A few things to know as well:

  • Designs saved before 0.11 keep their settings. To get the new sections by type, turn on Group by type in the design.
  • The container runs as a regular user, not root. On first start it takes ownership of /app/data, so existing volumes keep working. If you set your own user: in Compose, that user needs write access to the data folder.
  • TRUST_PROXY=true now reaches the container. Only set it if LatestArr is behind a reverse proxy.
Last updated on