Upgrading from v5? Follow the v6 maintenance upgrade
instead. It covers setting up SpiceDB for the first time.
Before you start
- Read what changed. Check the release notes and the migration guide for every version between yours and the target. Most releases need nothing extra; the ones that do say so there.
- Use a supported path. Upgrade one major version at a time (for example 6.x → 7.x, never 5.x → 7.x). Each release lists the upgrade pair it was tested with.
- Plan a short maintenance window and let your users know.
Docker and one-click
Run these from the folder that holds yourdocker-compose.yml (for one-click installs, formbricks):
1
Download the new images
docker-compose.yml pins a version instead of
latest, first set the same target image on all four services that use it: formbricks,
formbricks-migrate, authzed-ops and authzed-initialize. Preparation runs in authzed-ops, so an
old image there would prepare for the old release.2
Stop Formbricks
Stop everything that writes to the database, and leave the databases running:If you enabled the taxonomy service, add
taxonomy to that command.3
Back up both databases
.env file as well. If you use a managed database, take a snapshot there instead.4
Prepare SpiceDB with the new version
upgrade_graph_not_ready: it never
overwrites a schema you have not confirmed. Read the current schema’s digest, check the release notes for
the schema change, then rerun with that digest:5
Start the new version
One-click installs: go to the folder that contains your Other Docker installs:Database migrations run automatically on start.
formbricks folder, download the current
updater and run it:Kubernetes (Helm)
1
Stop Formbricks
Pause anything that could restart it (Argo CD, Flux, autoscalers), suspend Formbricks CronJobs, then
scale the Formbricks and Hub deployments to zero. Wait until no Formbricks or Hub pod or Job is still
running, including Jobs that started before you suspended them. Leave PostgreSQL and SpiceDB running.
2
Back up
Back up the Formbricks database and the SpiceDB database, and keep your Helm values and Secrets.
3
Prepare SpiceDB with the new version
Run the preparation as a one-off Job, using the new image and your existing database and SpiceDB
settings. A ready-to-adapt Job is in the
maintenance upgrade guide. Wait for it
to complete successfully. If the release changes the SpiceDB schema, add
--expected-current-digest sha256:<remoteDigest> to the Job’s arguments, with the digest that
formbricks-authzed upgrade check reports for the current schema. If it fails, keep everything stopped and follow
results and recovery.4
Upgrade
authzed.migrationAcknowledged: true is in your values. Installs
that came from v5 already have it; installs that started on v6 add it once, after a successful
preparation. Put it in the values file Argo CD or Flux reconciles from, not only on the command line, so
the next sync doesn’t drop it.Then resume Argo CD, Flux or your autoscalers.