Updating safely

Every new SubsiMail version is designed to be a drop-in replacement for the previous one — your existing database, campaigns, contacts, and connected accounts carry forward untouched. There is no "reinstall" path and none should ever be needed.

Docker

docker compose pull
docker compose up -d

That's it. The named volume holding your SQLite database is untouched by the image update — only the application binary inside the container changes.

Linux binary / Windows .exe

  1. Stop the running process (systemctl stop subsimail on Linux, or close the window / stop the service on Windows)
  2. Replace the old binary with the new one, in the same folder
  3. Start it again — it opens the existing data/subsimail.db in place

Database schema changes (if any) are applied automatically on startup via migrations built into the binary — you never run a separate migration step by hand.

The upgrade guarantee

Every feature we ship is built so an existing install can upgrade with a plain docker pull + up (or binary swap) — never a reinstall, never a data-loss step. If a future release ever needs a manual action from you (rare), it'll be called out explicitly in that release's notes, not silently assumed.

Still, treat your database file like any production data: back up the Docker volume (or the data/ folder) before a major version jump, the same way you would before any software update.