Update
Pull the latest image, restart, done. Migrations run on boot.
Update to latest
docker compose pull app
docker compose up -d appDatabase schema migrations (the versioned V1 -> V46 system) apply automatically on startup. Data in Docker volumes is preserved.
Pin a version
Replace latest in docker-compose.yml with a tag:
image: ghcr.io/mlab-sh/tprm.mlab.sh:1.6.1Upgrading to 1.6.1
- Migration V46 applies on startup.
- Contract documents need an S3 bucket: set
S3_ENDPOINT,S3_BUCKET,S3_ACCESS_KEY_IDandS3_SECRET_ACCESS_KEY. Without them nothing changes and the Documents card says storage is not configured. See Documents. - A reverse proxy must accept uploads as large as
S3_MAX_UPLOAD_MB(2 GB by default): raise nginx'sclient_max_body_size.
Upgrading to 1.6.0
- Migrations V36 to V45 apply on startup.
- The default administrator is locked if it still uses the old public password
adminadmin. A one-time setup link is printed in the logs to choose a new one (docker compose logs app | grep "Admin setup"). New instances start without a default password: setADMIN_INITIAL_PASSWORD, or use the setup link. - Single sign-on needs
PUBLIC_URL, the address users reach the platform at. See Single sign-on. - API keys are managed by administrators only. Existing keys keep working.
- The platform now sends
X-Frame-Options: DENYand can no longer be embedded in an iframe.
Upgrading to 1.5.1
LICENSE_KEYis required, on Free too. Without it, or without a valid license, the instance is paused. Copy your key from mlab.sh.- One place per instance. Each running instance holds a place on the license (1 by default). Run more instances than places and the extra ones are paused. See Licensing.
- Migrations V22 to V35 apply on startup. Keep your volumes: an instance recreated with empty volumes gets a new instance id and needs a free place.
ClickHouse version
Keep ClickHouse pinned to 26.8, as in the installation docker-compose.yml. Do not use clickhouse/clickhouse-server:latest: ClickHouse 26.9 answers tprm.mlab.sh's client with empty results and closes the connection after every query, so activity, statistics and jobs come back empty. Since 1.6.0 the app no longer replays ClickHouse migrations when it cannot read their version; it skips them and logs the reason.
If your instance already pulled 26.9, back up the clickhouse_data volume, set the image to clickhouse/clickhouse-server:26.8, then docker compose up -d clickhouse app. ClickHouse does not promise that an older version reads data written by a newer one, so if it refuses to start, restore the volume and start from an empty one: what tprm.mlab.sh keeps in ClickHouse is its activity log.
Rollback
If a release introduces a regression: re-pin to the previous tag, then docker compose up -d app. Schema rollbacks are not automatic - restore the MySQL/ClickHouse volumes from backup if a migration is involved.
Always back up before major upgrades. Snapshot the mysql_data and clickhouse_data volumes (or run the logical dump from the installation page) before bumping a major version.
Release notifications
Subscribe to the changelog. Major releases announce breaking changes at least one minor version ahead.