Skip to content

Upgrading

Terminal window
git pull
docker build -f docker/Dockerfile -t slick .
docker compose -f docker/compose.yml --env-file .env up -d

Migrations run automatically at startup, inside the same process, before the server listens. If a migration fails the process exits rather than serving with a half-applied schema.

Take a backup. Migrations are forward only: there is no down path, deliberately, because a down migration that has to discard data is a worse answer than restoring a backup.

  • curl https://your.domain/api/health
  • Send a message from two browsers and confirm both see it without a reload. That exercises the event log and the WebSocket fan-out together.
  • If the release touched calls, join one from a second device.

The app is served with no-cache on index.html and immutable, year-long caching on hashed asset files. That combination means a browser picks up a new release on the next load without holding a stale bundle. If someone reports that an update has not reached them, the first question is whether a proxy in front of Slick is caching index.html against those headers.