Upgrading Tiaki
Check the current version
docker inspect ghcr.io/tiaki-dev/tiaki-server:latest --format '{{index .Config.Labels "org.opencontainers.image.version"}}'
Or check the running container:
docker compose ps
Upgrade the control plane
# Pull the latest images
docker compose pull
# Restart with the new images
docker compose up -d
# Run any pending database migrations
docker compose exec server pnpm db:migrate
Check the CHANGELOG before upgrading to review any breaking changes or required migration steps.
Upgrade the agents
Docker Compose
docker compose --profile agent pull
docker compose --profile agent up -d agent
Systemd binary
# Download the new binary
curl -L https://github.com/tiaki-dev/tiaki/releases/latest/download/tiaki-agent-docker-linux-amd64 \
-o /tmp/tiaki-agent-new
chmod +x /tmp/tiaki-agent-new
# Replace the binary and restart
systemctl stop tiaki-agent
mv /tmp/tiaki-agent-new /usr/local/bin/tiaki-agent
systemctl start tiaki-agent
Kubernetes agent
kubectl rollout restart deployment/tiaki-agent -n tiaki
This triggers a pull of the latest tag. To pin to a specific version, update the image tag in your manifest first.
Rollback
If an upgrade causes issues, roll back to the previous image:
# Control plane
docker compose pull ghcr.io/tiaki-dev/tiaki-server:<previous-version>
docker compose up -d
# Agent
docker compose pull ghcr.io/tiaki-dev/tiaki-agent-docker:<previous-version>
docker compose --profile agent up -d agent
Check available versions at the GitHub Releases page.
Database migrations
Tiaki uses Drizzle ORM for database migrations. Migrations run automatically on server startup. If a migration fails, the server will log the error and exit — check the logs:
docker compose logs server