diff --git a/pica-mobilizon/db/Dockerfile b/pica-mobilizon/db/Dockerfile
index ad867be9a5f1599a0f8b312f73b195f4c2b9b4c4..01800da65b9d967608bc1421757d56cf1f9a5e8f 100644
--- a/pica-mobilizon/db/Dockerfile
+++ b/pica-mobilizon/db/Dockerfile
@@ -1,6 +1,5 @@
-FROM postgres:12-alpine
-ARG POSTGRES_DB
-RUN apk update \
-    && apk add --update postgis \
-    && rm -rf /tmp/* /var/tmp/*
-RUN printf "\\c "$POSTGRES_DB" \n CREATE EXTENSION postgis; \n CREATE EXTENSION pg_trgm; \n CREATE EXTENSION unaccent;" > /docker-entrypoint-initdb.d/setup.sql
+# Same Dockerfile as official image, but different extensions :
+# https://github.com/postgis/docker-postgis/blob/7639baab95220201b87476b2dd09e011423ebd55/12-3.0/alpine/initdb-postgis.sh
+FROM postgis/postgis:12-3.0-alpine
+
+COPY ./initdb-postgis.sh /docker-entrypoint-initdb.d/10_postgis.sh
diff --git a/pica-mobilizon/db/initdb-postgis.sh b/pica-mobilizon/db/initdb-postgis.sh
new file mode 100644
index 0000000000000000000000000000000000000000..6a716a6fa7c61eafbaa3d1ee224b42e18bce7d26
--- /dev/null
+++ b/pica-mobilizon/db/initdb-postgis.sh
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+set -e
+
+# Perform all actions as $POSTGRES_USER
+export PGUSER="$POSTGRES_USER"
+
+# Create the 'template_postgis' template db
+"${psql[@]}" <<- 'EOSQL'
+CREATE DATABASE template_postgis IS_TEMPLATE true;
+EOSQL
+
+# Load PostGIS into both template_database and $POSTGRES_DB
+for DB in template_postgis "$POSTGRES_DB"; do
+	echo "Loading PostGIS extensions into $DB"
+	"${psql[@]}" --dbname="$DB" <<-'EOSQL'
+		CREATE EXTENSION IF NOT EXISTS postgis;
+		CREATE EXTENSION IF NOT EXISTS pg_trgm;
+		CREATE EXTENSION IF NOT EXISTS unaccent;
+EOSQL
+done
diff --git a/pica-mobilizon/docker-compose.yml b/pica-mobilizon/docker-compose.yml
index 113c9192979571cc79c1504e4fa0fc0fae5d8fb9..617e966e8a8eef30928b4413a9709575ad8110cb 100644
--- a/pica-mobilizon/docker-compose.yml
+++ b/pica-mobilizon/docker-compose.yml
@@ -60,7 +60,7 @@ services:
             context: ./db
             dockerfile: Dockerfile
             args:
-                - POSGRES_DB=postgres_mobilizon
+                - POSTGRES_DB=postgres_mobilizon
         container_name: mobilizon-db
         volumes:
             - mobilizon-db:/var/lib/postgresql/data