Upgrading Tagaris
Upgrading Tagaris means pulling a newer image and recreating the container. The app applies any pending database migrations itself on start, so there is no separate migration step. This page covers all three install methods; where they differ, it says so.
Version tags
Each release is published under several tags on Docker Hub:
latest: the newest release, whichever major version that is. The install guides use it in their examples for simplicity.- A major tag such as
2: the newest release within version 2. - A minor tag such as
2.2: the newest patch of version 2.2. - An exact tag such as
2.2.0: that one release and no other.
For anything beyond a quick trial, pin to a major version rather than latest. Set the image
to goodhallsolutions/tagaris:2 (or goodhallsolutions/tagaris-bundled:2), and pulling gives
you every version-2 update, fixes and features, when you choose, without an unplanned jump to
version 3, which may include changes that need steps on your part. latest is convenient for
evaluation but will cross a major version on its own.
Set the tag once, in your compose file or docker run command. You decide when to pull.
Upgrade steps
Back up first. A backup before an upgrade costs little and makes a rollback trivial; see Backups and restore.
With Docker Compose:
docker compose pull
docker compose up -d
If you pinned an exact version, change the tag in the compose file first, then run the same two commands. The app waits for the database, applies migrations, and starts on the same port. Your data lives in the volumes (or your own database) and carries straight across.
With plain docker run, pull the tag and recreate the container, keeping the same volumes and
environment as at install:
docker pull goodhallsolutions/tagaris:2
docker rm -f tagaris
# then run the same docker run command you used to install
Rolling back
If an upgrade misbehaves, set the image back to the previous tag and run docker compose up -d
again. Migrations are additive, so a rollback normally just works. If a release notes a
breaking change, restore the backup you took before upgrading.
PostgreSQL major upgrades
An app upgrade never changes your PostgreSQL major version. Moving PostgreSQL itself to the next major (16 to 17, for example) is a separate task, because PostgreSQL cannot read a data directory written by a different major version in place. How you handle it depends on the install:
- Standard install (separate database container): PostgreSQL does not upgrade its data
directory across majors on its own, so changing the
postgres:16image to a newer major will not load the old data as-is. Take a backup, start the new database on an empty volume, and restore. There is no rush: Tagaris does not require the newest PostgreSQL, so you can stay on 16 until you choose to move. - Self-contained install (bundled database): the database is pinned to PostgreSQL 16, and
the container refuses to start against data from a different major to protect it. When a
future image moves to a newer major, take a full backup in Application settings, start the
new image with an empty
datavolume, then restore. - Dedicated database: your server, your schedule. Upgrade PostgreSQL the way you normally do, with Tagaris stopped or during a quiet period.
In every case the safe path is a backup and restore rather than an in-place conversion, and each major-version release will spell out any steps in its notes.