diff --git a/changelog.d/18089.bugfix b/changelog.d/18089.bugfix
new file mode 100644
index 0000000000000000000000000000000000000000..607fab7112505ab23be2ffcb3b00ec941b6b4734
--- /dev/null
+++ b/changelog.d/18089.bugfix
@@ -0,0 +1,2 @@
+Updates contributed `docker-compose.yml` file to PostgreSQL v15, as v12 is no longer supported by Synapse.
+Contributed by @maxkratz.
\ No newline at end of file
diff --git a/contrib/docker/docker-compose.yml b/contrib/docker/docker-compose.yml
index 36d5fd53096a17a6a38b943e9ca68cd9c5c92a1e..9dffc852fdd70a98e9fb2ca9f37b905bd4224b8e 100644
--- a/contrib/docker/docker-compose.yml
+++ b/contrib/docker/docker-compose.yml
@@ -51,7 +51,7 @@ services:
       - traefik.http.routers.https-synapse.tls.certResolver=le-ssl
 
   db:
-    image: docker.io/postgres:12-alpine
+    image: docker.io/postgres:15-alpine
     # Change that password, of course!
     environment:
       - POSTGRES_USER=synapse