diff --git a/12/alpine3.19/Dockerfile b/12/alpine3.21/Dockerfile
similarity index 99%
rename from 12/alpine3.19/Dockerfile
rename to 12/alpine3.21/Dockerfile
index 21aaff418516fe9efcd08c2d4bc99cae04f2c09a..b51727523a23993e75344f34929782622628a0ae 100644
--- a/12/alpine3.19/Dockerfile
+++ b/12/alpine3.21/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM alpine:3.19
+FROM alpine:3.21
 
 # 70 is the standard uid/gid for "postgres" in Alpine
 # https://git.alpinelinux.org/aports/tree/main/postgresql/postgresql.pre-install?h=3.12-stable
diff --git a/12/alpine3.19/docker-ensure-initdb.sh b/12/alpine3.21/docker-ensure-initdb.sh
similarity index 100%
rename from 12/alpine3.19/docker-ensure-initdb.sh
rename to 12/alpine3.21/docker-ensure-initdb.sh
diff --git a/12/alpine3.19/docker-entrypoint.sh b/12/alpine3.21/docker-entrypoint.sh
similarity index 100%
rename from 12/alpine3.19/docker-entrypoint.sh
rename to 12/alpine3.21/docker-entrypoint.sh
diff --git a/13/alpine3.19/Dockerfile b/13/alpine3.21/Dockerfile
similarity index 99%
rename from 13/alpine3.19/Dockerfile
rename to 13/alpine3.21/Dockerfile
index 43c805a2b41f2bce156dc27327b9485579d1cc90..5a63fd1f4644628cb5ae5e85673a944a0878c941 100644
--- a/13/alpine3.19/Dockerfile
+++ b/13/alpine3.21/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM alpine:3.19
+FROM alpine:3.21
 
 # 70 is the standard uid/gid for "postgres" in Alpine
 # https://git.alpinelinux.org/aports/tree/main/postgresql/postgresql.pre-install?h=3.12-stable
diff --git a/13/alpine3.19/docker-ensure-initdb.sh b/13/alpine3.21/docker-ensure-initdb.sh
similarity index 100%
rename from 13/alpine3.19/docker-ensure-initdb.sh
rename to 13/alpine3.21/docker-ensure-initdb.sh
diff --git a/13/alpine3.19/docker-entrypoint.sh b/13/alpine3.21/docker-entrypoint.sh
similarity index 100%
rename from 13/alpine3.19/docker-entrypoint.sh
rename to 13/alpine3.21/docker-entrypoint.sh
diff --git a/14/alpine3.19/Dockerfile b/14/alpine3.21/Dockerfile
similarity index 99%
rename from 14/alpine3.19/Dockerfile
rename to 14/alpine3.21/Dockerfile
index 4cf84a304f94402dcd0d66060d9bb4f47fe03849..0173050f1b65e195cc5fa49240ed09150f1a01d0 100644
--- a/14/alpine3.19/Dockerfile
+++ b/14/alpine3.21/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM alpine:3.19
+FROM alpine:3.21
 
 # 70 is the standard uid/gid for "postgres" in Alpine
 # https://git.alpinelinux.org/aports/tree/main/postgresql/postgresql.pre-install?h=3.12-stable
diff --git a/14/alpine3.19/docker-ensure-initdb.sh b/14/alpine3.21/docker-ensure-initdb.sh
similarity index 100%
rename from 14/alpine3.19/docker-ensure-initdb.sh
rename to 14/alpine3.21/docker-ensure-initdb.sh
diff --git a/14/alpine3.19/docker-entrypoint.sh b/14/alpine3.21/docker-entrypoint.sh
similarity index 100%
rename from 14/alpine3.19/docker-entrypoint.sh
rename to 14/alpine3.21/docker-entrypoint.sh
diff --git a/15/alpine3.19/Dockerfile b/15/alpine3.21/Dockerfile
similarity index 99%
rename from 15/alpine3.19/Dockerfile
rename to 15/alpine3.21/Dockerfile
index 43c890da5b779a8faf84f5557330f2decc979473..f9452c84ba7e60f408861516efa4a5eb871e1a69 100644
--- a/15/alpine3.19/Dockerfile
+++ b/15/alpine3.21/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM alpine:3.19
+FROM alpine:3.21
 
 # 70 is the standard uid/gid for "postgres" in Alpine
 # https://git.alpinelinux.org/aports/tree/main/postgresql/postgresql.pre-install?h=3.12-stable
diff --git a/15/alpine3.19/docker-ensure-initdb.sh b/15/alpine3.21/docker-ensure-initdb.sh
similarity index 100%
rename from 15/alpine3.19/docker-ensure-initdb.sh
rename to 15/alpine3.21/docker-ensure-initdb.sh
diff --git a/15/alpine3.19/docker-entrypoint.sh b/15/alpine3.21/docker-entrypoint.sh
similarity index 100%
rename from 15/alpine3.19/docker-entrypoint.sh
rename to 15/alpine3.21/docker-entrypoint.sh
diff --git a/16/alpine3.19/Dockerfile b/16/alpine3.21/Dockerfile
similarity index 99%
rename from 16/alpine3.19/Dockerfile
rename to 16/alpine3.21/Dockerfile
index 0ee9671bdda139536d8a1bafd8e03e83c93dc68d..c2a0f650320878b48095bf49b77e20a036358e9c 100644
--- a/16/alpine3.19/Dockerfile
+++ b/16/alpine3.21/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM alpine:3.19
+FROM alpine:3.21
 
 # 70 is the standard uid/gid for "postgres" in Alpine
 # https://git.alpinelinux.org/aports/tree/main/postgresql/postgresql.pre-install?h=3.12-stable
diff --git a/16/alpine3.19/docker-ensure-initdb.sh b/16/alpine3.21/docker-ensure-initdb.sh
similarity index 100%
rename from 16/alpine3.19/docker-ensure-initdb.sh
rename to 16/alpine3.21/docker-ensure-initdb.sh
diff --git a/16/alpine3.19/docker-entrypoint.sh b/16/alpine3.21/docker-entrypoint.sh
similarity index 100%
rename from 16/alpine3.19/docker-entrypoint.sh
rename to 16/alpine3.21/docker-entrypoint.sh
diff --git a/17/alpine3.19/Dockerfile b/17/alpine3.21/Dockerfile
similarity index 99%
rename from 17/alpine3.19/Dockerfile
rename to 17/alpine3.21/Dockerfile
index 101ea6b2ccbd15c45df1d0942bd106821d47c3ca..4adb4a0367f7b2a98d6fa651c53364803fc142d1 100644
--- a/17/alpine3.19/Dockerfile
+++ b/17/alpine3.21/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM alpine:3.19
+FROM alpine:3.21
 
 # 70 is the standard uid/gid for "postgres" in Alpine
 # https://git.alpinelinux.org/aports/tree/main/postgresql/postgresql.pre-install?h=3.12-stable
diff --git a/17/alpine3.19/docker-ensure-initdb.sh b/17/alpine3.21/docker-ensure-initdb.sh
similarity index 100%
rename from 17/alpine3.19/docker-ensure-initdb.sh
rename to 17/alpine3.21/docker-ensure-initdb.sh
diff --git a/17/alpine3.19/docker-entrypoint.sh b/17/alpine3.21/docker-entrypoint.sh
similarity index 100%
rename from 17/alpine3.19/docker-entrypoint.sh
rename to 17/alpine3.21/docker-entrypoint.sh
diff --git a/versions.json b/versions.json
index fac5258833942aa543ab815f9928e2901e3c1675..11cf4b6a294f50c7866d15a490b49106eee2effa 100644
--- a/versions.json
+++ b/versions.json
@@ -1,6 +1,6 @@
 {
   "12": {
-    "alpine": "3.20",
+    "alpine": "3.21",
     "bookworm": {
       "arches": [
         "amd64",
@@ -25,13 +25,13 @@
     "variants": [
       "bookworm",
       "bullseye",
-      "alpine3.20",
-      "alpine3.19"
+      "alpine3.21",
+      "alpine3.20"
     ],
     "version": "12.22"
   },
   "13": {
-    "alpine": "3.20",
+    "alpine": "3.21",
     "bookworm": {
       "arches": [
         "amd64",
@@ -56,13 +56,13 @@
     "variants": [
       "bookworm",
       "bullseye",
-      "alpine3.20",
-      "alpine3.19"
+      "alpine3.21",
+      "alpine3.20"
     ],
     "version": "13.18"
   },
   "14": {
-    "alpine": "3.20",
+    "alpine": "3.21",
     "bookworm": {
       "arches": [
         "amd64",
@@ -87,13 +87,13 @@
     "variants": [
       "bookworm",
       "bullseye",
-      "alpine3.20",
-      "alpine3.19"
+      "alpine3.21",
+      "alpine3.20"
     ],
     "version": "14.15"
   },
   "15": {
-    "alpine": "3.20",
+    "alpine": "3.21",
     "bookworm": {
       "arches": [
         "amd64",
@@ -118,13 +118,13 @@
     "variants": [
       "bookworm",
       "bullseye",
-      "alpine3.20",
-      "alpine3.19"
+      "alpine3.21",
+      "alpine3.20"
     ],
     "version": "15.10"
   },
   "16": {
-    "alpine": "3.20",
+    "alpine": "3.21",
     "bookworm": {
       "arches": [
         "amd64",
@@ -149,13 +149,13 @@
     "variants": [
       "bookworm",
       "bullseye",
-      "alpine3.20",
-      "alpine3.19"
+      "alpine3.21",
+      "alpine3.20"
     ],
     "version": "16.6"
   },
   "17": {
-    "alpine": "3.20",
+    "alpine": "3.21",
     "bookworm": {
       "arches": [
         "amd64",
@@ -180,8 +180,8 @@
     "variants": [
       "bookworm",
       "bullseye",
-      "alpine3.20",
-      "alpine3.19"
+      "alpine3.21",
+      "alpine3.20"
     ],
     "version": "17.2"
   }
diff --git a/versions.sh b/versions.sh
index e8c1225d53bec9c9f26419156dbe07a58488e186..ad83e2b000e7b6fee50c344a94f460ec62aebfe4 100755
--- a/versions.sh
+++ b/versions.sh
@@ -7,8 +7,8 @@ supportedDebianSuites=(
 	bullseye
 )
 supportedAlpineVersions=(
+	3.21
 	3.20
-	3.19
 )
 defaultDebianSuite="${supportedDebianSuites[0]}"
 declare -A debianSuites=(