From 71343eefc05d63538952a775aa437824ecc52c78 Mon Sep 17 00:00:00 2001 From: Brad DerManouelian Date: Mon, 7 Sep 2026 22:25:14 -0500 Subject: [PATCH] docs(install): point self-hosters at the self-host image MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The upgrade guide and the 1.0 announcement both told self-hosters to pull ghcr.io/testplanit/testplanit:latest. That is the hosted-service image: it bakes BASE_DOMAIN at build time and is published for linux/arm64 only, so on an x86 host the pull fails outright with no matching manifest for linux/amd64 The image self-hosters want is testplanit-selfhost — domain-agnostic and multi-arch, and already what the Helm chart and Kubernetes guide default to. Points the two remaining references at it and explains the split, so the choice is not guesswork. Historical release posts keep their original commands: those were correct when written, before the images diverged. --- docs/blog/2026-09-08-v1.0-release.md | 4 +++- docs/docs/installation.md | 14 ++++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/docs/blog/2026-09-08-v1.0-release.md b/docs/blog/2026-09-08-v1.0-release.md index 24a63abba..16f6937e3 100644 --- a/docs/blog/2026-09-08-v1.0-release.md +++ b/docs/blog/2026-09-08-v1.0-release.md @@ -108,9 +108,11 @@ pnpm build For Docker deployments: ```bash -docker pull ghcr.io/testplanit/testplanit:latest +docker pull ghcr.io/testplanit/testplanit-selfhost:latest ``` +Self-hosted deployments use the `testplanit-selfhost` image — domain-agnostic, so one image serves any hostname, and published for both `linux/amd64` and `linux/arm64`. + If you've been on the beta channel, v1.0.0 is the graduation of that line — upgrade as usual. ## What's Next diff --git a/docs/docs/installation.md b/docs/docs/installation.md index 55900b2c6..775b48c84 100644 --- a/docs/docs/installation.md +++ b/docs/docs/installation.md @@ -22,10 +22,20 @@ TestPlanIt applies database schema changes with versioned migrations (`zenstack A routine upgrade with Docker: ```bash -docker pull ghcr.io/testplanit/testplanit:latest +docker pull ghcr.io/testplanit/testplanit-selfhost:latest docker compose up -d # pending migrations apply on startup ``` +:::note Which image to pull + +Self-hosted deployments use **`testplanit-selfhost`**. It is domain-agnostic, so +one image serves any hostname, and it is published for both `linux/amd64` and +`linux/arm64`. The `testplanit` image is built for the hosted service, bakes its +domain in at build time, and is `arm64` only — pulling it on an x86 host fails +with `no matching manifest for linux/amd64`. + +::: + A routine upgrade from source: ```bash @@ -51,7 +61,7 @@ npx zenstack migrate resolve --applied 20260625193632_init --schema schema.zmode # `docker compose run --rm --no-deps --entrypoint "" prod` for `docker run --rm --entrypoint ""`): docker run --rm --entrypoint "" \ -e DATABASE_URL="postgresql://user:password@host:5432/testplanit" \ - ghcr.io/testplanit/testplanit:latest \ + ghcr.io/testplanit/testplanit-selfhost:latest \ npx zenstack migrate resolve --applied 20260625193632_init --schema schema.zmodel ```