From 8a91c1c908ec50182506c29195ca8daa6f42a5a4 Mon Sep 17 00:00:00 2001
From: Mindstan <mindstan@hotmail.fr>
Date: Sat, 24 Oct 2020 17:34:53 +0200
Subject: [PATCH] [Mobilizon] Fixed db not working

---
 pica-mobilizon/db/Dockerfile        | 11 +++++------
 pica-mobilizon/db/initdb-postgis.sh | 21 +++++++++++++++++++++
 pica-mobilizon/docker-compose.yml   |  2 +-
 3 files changed, 27 insertions(+), 7 deletions(-)
 create mode 100644 pica-mobilizon/db/initdb-postgis.sh

diff --git a/pica-mobilizon/db/Dockerfile b/pica-mobilizon/db/Dockerfile
index ad867be9..01800da6 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 00000000..6a716a6f
--- /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 113c9192..617e966e 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
-- 
GitLab