Updates
Schema migrations
The api service's pre_start init containers apply prisma migrate deploy, functions.sql, OAuth provisioning, and S3 bucket bootstrap before the main API container starts.
pre_start runs when the API service is created or recreated — for example after pulling a new image tag, changing the init definition, or an explicit docker compose up that recreates api. Compose skips unchanged pre_start steps on ordinary container restarts. There is no separate migrate service.
Requires Docker Compose v2.38+.
Image upgrades
By default both services use the floating production image tag with pull_policy: always in docker-compose.yml. That means every docker compose up -d (or Dokploy redeploy) pulls the latest production images from GHCR — you do not need to bump a version in .env to receive app updates.
./scripts/upgrade.shThis pulls the latest api/webapp images and runs docker compose up -d. When the api image changes, Compose recreates api and re-runs pre_start.
Pinning a version
Pin semver via BONDERY_INFRA_VERSION when you want a frozen rollback target instead of tracking production (pins both api and webapp):
BONDERY_INFRA_VERSION=1.7.4 docker compose up -d api webappAlways redeploy api and webapp together when changing the version pin.
Related
- Installation
- Configuration
- Backups
- deploy/bondery/README.md — compose reference