From 23cefb2c077f1ee2cb3fc6a4c4e735b8b2f6c6fc Mon Sep 17 00:00:00 2001 From: Moritz Date: Mon, 8 Jun 2026 19:18:25 +0200 Subject: [PATCH] move to pgautoupgrade and update to postgres 16 --- abra.sh | 1 - compose.yml | 11 +-------- entrypoint.postgres.sh.tmpl | 45 ------------------------------------- 3 files changed, 1 insertion(+), 56 deletions(-) delete mode 100644 entrypoint.postgres.sh.tmpl diff --git a/abra.sh b/abra.sh index f3c48bf..92310f6 100644 --- a/abra.sh +++ b/abra.sh @@ -17,7 +17,6 @@ export RALLLY_CONFIG_VERSION=v4 export HEDGEDOC_CONFIG_VERSION=v3 export MONITORING_CONFIG_VERSION=v4 export MILA_CONFIG_VERSION=v1 -export DB_ENTRYPOINT_VERSION=v1 export PG_BACKUP_VERSION=v2 export ENTRYPOINT_CSS_VERSION=v1 diff --git a/compose.yml b/compose.yml index 7e610ab..03c8130 100644 --- a/compose.yml +++ b/compose.yml @@ -118,18 +118,13 @@ services: start_period: 5m db: - image: postgres:15.17 + image: pgautoupgrade/pgautoupgrade:16-trixie secrets: - db_password configs: - - source: db_entrypoint - target: /docker-entrypoint.sh - mode: 0555 - source: pg_backup target: /pg_backup.sh mode: 0555 - entrypoint: - /docker-entrypoint.sh volumes: - database:/var/lib/postgresql/data networks: @@ -207,10 +202,6 @@ configs: name: ${STACK_NAME}_system_brand_${SYSTEM_BRAND_VERSION} file: system_brand.yaml.tmpl template_driver: golang - db_entrypoint: - name: ${STACK_NAME}_db_entrypoint_${DB_ENTRYPOINT_VERSION} - file: entrypoint.postgres.sh.tmpl - template_driver: golang pg_backup: name: ${STACK_NAME}_pg_backup_${PG_BACKUP_VERSION} file: pg_backup.sh diff --git a/entrypoint.postgres.sh.tmpl b/entrypoint.postgres.sh.tmpl deleted file mode 100644 index 03ff1c5..0000000 --- a/entrypoint.postgres.sh.tmpl +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/bash - -set -e - -MIGRATION_MARKER=$PGDATA/migration_in_progress -OLDDATA=$PGDATA/old_data -NEWDATA=$PGDATA/new_data - -if [ -e $MIGRATION_MARKER ]; then - echo "FATAL: migration was started but did not complete in a previous run. manual recovery necessary" - exit 1 -fi - -if [ -f $PGDATA/PG_VERSION ]; then - DATA_VERSION=$(cat $PGDATA/PG_VERSION) - - if [ -n "$DATA_VERSION" -a "$PG_MAJOR" != "$DATA_VERSION" ]; then - echo "postgres data version $DATA_VERSION found, but need $PG_MAJOR. Starting migration" - echo "Installing postgres $DATA_VERSION" - sed -i "s/$/ $DATA_VERSION/" /etc/apt/sources.list.d/pgdg.list - apt-get update && apt-get install -y --no-install-recommends \ - postgresql-$DATA_VERSION \ - && rm -rf /var/lib/apt/lists/* - echo "shuffling around" - chown -R postgres:postgres $PGDATA - gosu postgres mkdir $OLDDATA $NEWDATA - chmod 700 $OLDDATA $NEWDATA - mv $PGDATA/* $OLDDATA/ || true - touch $MIGRATION_MARKER - echo "running initdb" - # abuse entrypoint script for initdb by making server error out - gosu postgres bash -c "export PGDATA=$NEWDATA ; /usr/local/bin/docker-entrypoint.sh --invalid-arg || true" - echo "running pg_upgrade" - cd /tmp - gosu postgres pg_upgrade --link -b /usr/lib/postgresql/$DATA_VERSION/bin -d $OLDDATA -D $NEWDATA -U $POSTGRES_USER - cp $OLDDATA/pg_hba.conf $NEWDATA/ - mv $NEWDATA/* $PGDATA - rm -rf $OLDDATA - rmdir $NEWDATA - rm $MIGRATION_MARKER - echo "migration complete" - fi -fi - -/usr/local/bin/docker-entrypoint.sh postgres