Skip to main content

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