feat(db): use pgautoupgrade instead of custom pg_upgrade entrypoint
Some checks failed
cc-ci/testme cc-ci: failure
Some checks failed
cc-ci/testme cc-ci: failure
Replace the hand-rolled entrypoint.postgres.sh.tmpl (which apt-installed the old PG binaries and ran initdb + pg_upgrade --link by hand) with the pgautoupgrade/pgautoupgrade:18-alpine image, matching the other recipes. PGDATA is pinned to the legacy /var/lib/postgresql/data so the existing cluster on the volume is upgraded in place rather than re-initialised. Drops the db_entrypoint config and DB_ENTRYPOINT_VERSION.
This commit is contained in:
19
compose.yml
19
compose.yml
@ -35,21 +35,22 @@ services:
|
||||
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
|
||||
- coop-cloud.${STACK_NAME}.version=4.0.0+v2.0.0
|
||||
db:
|
||||
image: postgres:14.18
|
||||
configs:
|
||||
- source: db_entrypoint
|
||||
target: /docker-entrypoint.sh
|
||||
mode: 0555
|
||||
# Custom docker entrypoint to handle major Postgres version upgrades
|
||||
image: pgautoupgrade/pgautoupgrade:18-alpine
|
||||
volumes:
|
||||
- db-data:/var/lib/postgresql/data
|
||||
entrypoint: /docker-entrypoint.sh
|
||||
environment:
|
||||
# pin legacy PGDATA so the existing cluster on the volume is upgraded in place, not re-init'd
|
||||
- PGDATA=/var/lib/postgresql/data
|
||||
- POSTGRES_USER=plausible
|
||||
- POSTGRES_PASSWORD=plausible
|
||||
- POSTGRES_DB=plausible
|
||||
networks:
|
||||
- internal
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U plausible -d plausible"]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 60
|
||||
deploy:
|
||||
labels:
|
||||
backupbot.backup: "true"
|
||||
@ -99,10 +100,6 @@ configs:
|
||||
clickhouse-user-config:
|
||||
name: ${STACK_NAME}_clickhouse_user_config_${CLICKHOUSE_USER_CONF_VERSION}
|
||||
file: clickhouse-user-config.xml
|
||||
db_entrypoint:
|
||||
name: ${STACK_NAME}_db_entrypoint_${DB_ENTRYPOINT_VERSION}
|
||||
file: entrypoint.postgres.sh.tmpl
|
||||
template_driver: golang
|
||||
clickhouse_entrypoint:
|
||||
name: ${STACK_NAME}_clickhouse_entrypoint_${CLICKHOUSE_ENTRYPOINT_VERSION}
|
||||
file: entrypoint.clickhouse.sh
|
||||
|
||||
Reference in New Issue
Block a user