Overriding entrypoint in compose clears the image default CMD, leaving
pgautoupgrade with no $1=postgres, so its version logic ran with unset
PGTARGET_MAJOR and aborted. Restore command: postgres.
discourse core does not use the vector extension, so the pgvector image is
unnecessary. Switch db to pgautoupgrade/pgautoupgrade:17-trixie, which handles
major-version upgrades (old binaries, initdb, pg_upgrade) itself.
pgautoupgrade assumes the old cluster's install user (oid 10) equals
POSTGRES_USER and fails pg_upgrade otherwise (issue #115). A thin wrapper
entrypoint detects the old install user when an upgrade is pending and exports
POSTGRES_USER so pgautoupgrade matches it. Replaces the 64-line hand-rolled
pg_upgrade entrypoint.
Replaces the paywalled bitnamilegacy app with the official discourse/discourse
image behind Traefik. DB is reused as-is; uploads migrate from the legacy
bitnami volume idempotently. The wrapper entrypoint injects the db_password and
smtp_password secrets (the official image has no *_FILE support). SMTP env vars
are renamed to the official names; release notes cover the migration.
Recipe 0.8.1+3.5.0 -> 1.0.0+3.5.3 (major: new image, env/volume/port changes).