Upgrades & rollback
Promotion is one line: change the pinned tag and bring the service back up. Rolling forward is safe; rolling back has one trap, and it is worth knowing before you need to know it.
Promoting a version
Always take a backup first. Then move the pin and pull:
Migrations apply at boot, before the server accepts a request. There is no separate migration step to remember and no window where new code runs against an old schema.
What survives
Rollback, and the trap in it
Putting the previous tag back and bringing the service up rolls the image back. It does not roll the schema back — migrations applied at boot and nothing reverses them.
Release notes say which kind a build contains. Read that line before promoting, not after.
Verifying the upgrade
/api/health/ready checks Postgres too, so a healthy answer means "can serve" rather than merely "process alive". A 503 is the app up and the database unreachable — look at the database container first, every time.