From 1b515680f863cb1cdbfe0b5168373bc79ed9c163 Mon Sep 17 00:00:00 2001 From: bfren Date: Thu, 29 Oct 2026 08:24:50 +0000 Subject: [PATCH 1/3] Removing PostgreSQL 12 and 13 (based on Alpine < 3.20) --- .github/workflows/dev.yml | 2 +- .github/workflows/publish.yml | 2 +- 12/ALPINE_EDITION | 1 - 12/Dockerfile | 22 ---------------------- 12/overlay/tmp/POSTGRESQL_BUILD | 1 - 12/overlay/tmp/POSTGRESQL_MINOR | 1 - 13/ALPINE_EDITION | 1 - 13/Dockerfile | 22 ---------------------- 13/overlay/tmp/POSTGRESQL_BUILD | 1 - 13/overlay/tmp/POSTGRESQL_MINOR | 1 - README.md | 6 ++---- test.nu | 2 -- 12 files changed, 4 insertions(+), 58 deletions(-) delete mode 100644 12/ALPINE_EDITION delete mode 100644 12/Dockerfile delete mode 100644 12/overlay/tmp/POSTGRESQL_BUILD delete mode 100644 12/overlay/tmp/POSTGRESQL_MINOR delete mode 100644 13/ALPINE_EDITION delete mode 100644 13/Dockerfile delete mode 100644 13/overlay/tmp/POSTGRESQL_BUILD delete mode 100644 13/overlay/tmp/POSTGRESQL_MINOR diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index 7ec2dd0..864d7b7 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -14,7 +14,7 @@ jobs: strategy: fail-fast: false matrix: - postgresql: [ "12", "13", "14", "15", "16", "17", "18" ] + postgresql: [ "14", "15", "16", "17", "18" ] runs-on: ubuntu-latest steps: - diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 3250b10..186b818 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -10,7 +10,7 @@ jobs: strategy: fail-fast: false matrix: - postgresql: [ "12", "13", "14", "15", "16", "17", "18" ] + postgresql: [ "14", "15", "16", "17", "18" ] runs-on: ubuntu-latest steps: - diff --git a/12/ALPINE_EDITION b/12/ALPINE_EDITION deleted file mode 100644 index 55b698c..0000000 --- a/12/ALPINE_EDITION +++ /dev/null @@ -1 +0,0 @@ -3.18 \ No newline at end of file diff --git a/12/Dockerfile b/12/Dockerfile deleted file mode 100644 index 9dac3b2..0000000 --- a/12/Dockerfile +++ /dev/null @@ -1,22 +0,0 @@ -FROM quay.io/bfren/alpine-s6:alpine3.18-6.7.2 - -LABEL org.opencontainers.image.source="https://github.com/bfren/docker-postgresql" - -ARG BF_IMAGE -ARG BF_PUBLISHING -ARG BF_VERSION - -EXPOSE 5432 - -COPY ./overlay / -COPY ./12/overlay / - -ENV \ - # set to "1" to compress backup sql files - BF_PG_BACKUP_COMPRESS_FILES="0" \ - # the duration for which backups will be kept - BF_PG_BACKUP_KEEP_FOR="28day" - -RUN bf-install - -VOLUME [ "/backup", "/data" ] diff --git a/12/overlay/tmp/POSTGRESQL_BUILD b/12/overlay/tmp/POSTGRESQL_BUILD deleted file mode 100644 index d046b67..0000000 --- a/12/overlay/tmp/POSTGRESQL_BUILD +++ /dev/null @@ -1 +0,0 @@ -12.20-r0 \ No newline at end of file diff --git a/12/overlay/tmp/POSTGRESQL_MINOR b/12/overlay/tmp/POSTGRESQL_MINOR deleted file mode 100644 index 2303be6..0000000 --- a/12/overlay/tmp/POSTGRESQL_MINOR +++ /dev/null @@ -1 +0,0 @@ -12.20 \ No newline at end of file diff --git a/13/ALPINE_EDITION b/13/ALPINE_EDITION deleted file mode 100644 index 318956c..0000000 --- a/13/ALPINE_EDITION +++ /dev/null @@ -1 +0,0 @@ -3.19 \ No newline at end of file diff --git a/13/Dockerfile b/13/Dockerfile deleted file mode 100644 index c095e44..0000000 --- a/13/Dockerfile +++ /dev/null @@ -1,22 +0,0 @@ -FROM quay.io/bfren/alpine-s6:alpine3.19-6.7.2 - -LABEL org.opencontainers.image.source="https://github.com/bfren/docker-postgresql" - -ARG BF_IMAGE -ARG BF_PUBLISHING -ARG BF_VERSION - -EXPOSE 5432 - -COPY ./overlay / -COPY ./13/overlay / - -ENV \ - # set to "1" to compress backup sql files - BF_PG_BACKUP_COMPRESS_FILES="0" \ - # the duration for which backups will be kept - BF_PG_BACKUP_KEEP_FOR="28day" - -RUN bf-install - -VOLUME [ "/backup", "/data" ] diff --git a/13/overlay/tmp/POSTGRESQL_BUILD b/13/overlay/tmp/POSTGRESQL_BUILD deleted file mode 100644 index d80d7cc..0000000 --- a/13/overlay/tmp/POSTGRESQL_BUILD +++ /dev/null @@ -1 +0,0 @@ -13.20-r0 \ No newline at end of file diff --git a/13/overlay/tmp/POSTGRESQL_MINOR b/13/overlay/tmp/POSTGRESQL_MINOR deleted file mode 100644 index 69f9565..0000000 --- a/13/overlay/tmp/POSTGRESQL_MINOR +++ /dev/null @@ -1 +0,0 @@ -13.20 \ No newline at end of file diff --git a/README.md b/README.md index b6dceb6..77a0db7 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ docker compose exec db pg psql myapp # in the myapp database ## Features -* 🐘 PostgreSQL 12 to 18 - choose with the image tag +* 🐘 PostgreSQL 14 to 18 - choose with the image tag * 🚀 User and database(s) created on first start, as a UTF-8 cluster * 💾 Every database backed up every eight hours, optionally compressed, with old backups deleted automatically * ♻️ Restore a backup with one command - or by leaving it in `/backup` before the container starts @@ -71,8 +71,6 @@ Images are published to Docker Hub (`bfren/postgresql`) and Quay.io (`quay.io/bf | 16 | 16.15 | 3.24 | November 2028 | | 15 | 15.19 | 3.22 | November 2027 | | 14 | 14.17 | 3.20 | November 2026 | -| 13 | 13.20 | 3.19 | ended | -| 12 | 12.20 | 3.18 | ended | PostgreSQL supports each major version for five years - see the [versioning policy](https://www.postgresql.org/support/versioning/). Older versions still work, but get no more fixes: use them only to get existing data out. @@ -190,7 +188,7 @@ The health check (inherited from the base image: every 30 seconds) connects as t ./generate-dockerfiles.sh # regenerates the Dockerfiles from Dockerfile.esh ``` -`/test` runs this image's tests alongside the base images' tests: credentials, creating the cluster, user and databases, version checks, backups (including compression and expiry), restore, export and import - using a stub `pg` command, so no server is needed - and the installed commands and configuration. Run it on an old and a new version, e.g. `./test.nu 12` and `./test.nu 18`. +`/test` runs this image's tests alongside the base images' tests: credentials, creating the cluster, user and databases, version checks, backups (including compression and expiry), restore, export and import - using a stub `pg` command, so no server is needed - and the installed commands and configuration. Run it on an old and a new version, e.g. `./test.nu 14` and `./test.nu 18`. ## Troubleshooting diff --git a/test.nu b/test.nu index c4fce84..283ee5a 100755 --- a/test.nu +++ b/test.nu @@ -3,8 +3,6 @@ use ../index/test.nu const postgresql_branches = [ - "12" - "13" "14" "15" "16" From 46496e86d6bd2f449447f5ae4b1ae1a2f71f82dc Mon Sep 17 00:00:00 2001 From: bfren Date: Thu, 29 Oct 2026 08:25:00 +0000 Subject: [PATCH 2/3] Bumping version to 5.0.0 --- VERSION | 2 +- VERSION_MAJOR | 2 +- VERSION_MINOR | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/VERSION b/VERSION index 2533cac..28cbf7c 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -4.3.3 \ No newline at end of file +5.0.0 \ No newline at end of file diff --git a/VERSION_MAJOR b/VERSION_MAJOR index bf0d87a..7813681 100644 --- a/VERSION_MAJOR +++ b/VERSION_MAJOR @@ -1 +1 @@ -4 \ No newline at end of file +5 \ No newline at end of file diff --git a/VERSION_MINOR b/VERSION_MINOR index 89f71c7..6e63660 100644 --- a/VERSION_MINOR +++ b/VERSION_MINOR @@ -1 +1 @@ -4.3 \ No newline at end of file +5.0 \ No newline at end of file From 76105ef672495c94357263db4bd1f2bf4d3ce523 Mon Sep 17 00:00:00 2001 From: bfren Date: Thu, 29 Oct 2026 08:25:04 +0000 Subject: [PATCH 3/3] Using latest base images --- 14/Dockerfile | 2 +- 15/Dockerfile | 2 +- 16/Dockerfile | 2 +- 17/Dockerfile | 2 +- 18/Dockerfile | 2 +- generate-dockerfiles.sh | 4 ++-- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/14/Dockerfile b/14/Dockerfile index 27ebbfa..3558dc7 100644 --- a/14/Dockerfile +++ b/14/Dockerfile @@ -1,4 +1,4 @@ -FROM quay.io/bfren/alpine-s6:alpine3.20-6.7.2 +FROM quay.io/bfren/alpine-s6:alpine3.20-6.7.3 LABEL org.opencontainers.image.source="https://github.com/bfren/docker-postgresql" diff --git a/15/Dockerfile b/15/Dockerfile index ab68532..966dc02 100644 --- a/15/Dockerfile +++ b/15/Dockerfile @@ -1,4 +1,4 @@ -FROM quay.io/bfren/alpine-s6:alpine3.22-6.7.2 +FROM quay.io/bfren/alpine-s6:alpine3.22-6.7.3 LABEL org.opencontainers.image.source="https://github.com/bfren/docker-postgresql" diff --git a/16/Dockerfile b/16/Dockerfile index 235fff3..603396f 100644 --- a/16/Dockerfile +++ b/16/Dockerfile @@ -1,4 +1,4 @@ -FROM quay.io/bfren/alpine-s6:alpine3.24-6.7.2 +FROM quay.io/bfren/alpine-s6:alpine3.24-6.7.3 LABEL org.opencontainers.image.source="https://github.com/bfren/docker-postgresql" diff --git a/17/Dockerfile b/17/Dockerfile index 55206b9..cf60e79 100644 --- a/17/Dockerfile +++ b/17/Dockerfile @@ -1,4 +1,4 @@ -FROM quay.io/bfren/alpine-s6:alpine3.24-6.7.2 +FROM quay.io/bfren/alpine-s6:alpine3.24-6.7.3 LABEL org.opencontainers.image.source="https://github.com/bfren/docker-postgresql" diff --git a/18/Dockerfile b/18/Dockerfile index 4e8823a..95fa89c 100644 --- a/18/Dockerfile +++ b/18/Dockerfile @@ -1,4 +1,4 @@ -FROM quay.io/bfren/alpine-s6:alpine3.24-6.7.2 +FROM quay.io/bfren/alpine-s6:alpine3.24-6.7.3 LABEL org.opencontainers.image.source="https://github.com/bfren/docker-postgresql" diff --git a/generate-dockerfiles.sh b/generate-dockerfiles.sh index a9cec7e..3b37a28 100755 --- a/generate-dockerfiles.sh +++ b/generate-dockerfiles.sh @@ -4,10 +4,10 @@ set -euo pipefail docker pull bfren/alpine -BASE_VERSION="6.7.2" +BASE_VERSION="6.7.3" echo "Base: ${BASE_VERSION}" -POSTGRESQL_VERSIONS="12 13 14 15 16 17 18" +POSTGRESQL_VERSIONS="14 15 16 17 18" for V in ${POSTGRESQL_VERSIONS} ; do echo "PostgreSQL ${V}"