From 23255572a65119b5a77e89798d879fd7a1ce7997 Mon Sep 17 00:00:00 2001 From: Asone Date: Mon, 30 Jul 2018 00:38:28 +0200 Subject: [PATCH] add initialization of db --- _provisioning/db/Dockerfile | 25 ++++++++++------- _provisioning/db/init/01-init-postgris.sh | 9 +++++++ _provisioning/db/init/02-init-user.sh | 8 ++++++ _provisioning/db/init/03-import-dump.sh | 33 +++++++++++++++++++++++ docker-compose.yml | 9 ++++--- 5 files changed, 72 insertions(+), 12 deletions(-) create mode 100755 _provisioning/db/init/01-init-postgris.sh create mode 100755 _provisioning/db/init/02-init-user.sh create mode 100755 _provisioning/db/init/03-import-dump.sh diff --git a/_provisioning/db/Dockerfile b/_provisioning/db/Dockerfile index 111a88b..cd160d1 100644 --- a/_provisioning/db/Dockerfile +++ b/_provisioning/db/Dockerfile @@ -1,20 +1,27 @@ -FROM node:alpine + +FROM postgres:9.6-alpine LABEL AUTHOR="Nelson Herbin " LABEL NAME=tricoteuses-db LABEL VERSION=1 -RUN "wget http://data.senat.fr/data/ameli/ameli.zip \ -unzip ameli.zip \ -su \ -su postgres \ +RUN apk update && apk upgrade && \ + apk add --no-cache git wget + + +ADD ./_dumps _dumps/ +WORKDIR _dumps +RUN wget http://data.senat.fr/data/ameli/ameli.zip && \ +unzip ameli.zip && \ +mv var/opt/opendata/ameli.sql /_dumps/ + # dropdb ameli # dropuser opendata # createuser -IPRS opendata # Enter password for new role: opendata # Enter it again: opendata # createdb -E utf-8 -O opendata ameli -psql ameli < var/opt/opendata/ameli.sql \ -exit \ -rm -R var/ \ -rm ameli.zip" +#RUN ls +#RUN psql ameli < ./_dumps/ameli.sql +#RUN exit  +# RUN rm ameli.zip diff --git a/_provisioning/db/init/01-init-postgris.sh b/_provisioning/db/init/01-init-postgris.sh new file mode 100755 index 0000000..71a425a --- /dev/null +++ b/_provisioning/db/init/01-init-postgris.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +set -e + +ls + +#psql -v ON_ERROR_STOP=1 -d ameli --username "$POSTGRES_USER" <<-EOSQL +# CREATE EXTENSION IF NOT EXISTS "postgis"; +# CREATE EXTENSION IF NOT EXISTS "unaccent"; +#EOSQL diff --git a/_provisioning/db/init/02-init-user.sh b/_provisioning/db/init/02-init-user.sh new file mode 100755 index 0000000..39d5a4c --- /dev/null +++ b/_provisioning/db/init/02-init-user.sh @@ -0,0 +1,8 @@ +#!/bin/bash +set -e + +psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL + CREATE ROLE opendata WITH LOGIN PASSWORD 'ameli'; + ALTER ROLE opendata CREATEDB; + CREATE DATABASE ameli OWNER opendata ENCODING 'UTF8'; +EOSQL diff --git a/_provisioning/db/init/03-import-dump.sh b/_provisioning/db/init/03-import-dump.sh new file mode 100755 index 0000000..7c9c0b6 --- /dev/null +++ b/_provisioning/db/init/03-import-dump.sh @@ -0,0 +1,33 @@ +#!/bin/bash +set -e + +cd /_dumps +wget http://data.senat.fr/data/ameli/ameli.zip -O ameli.zip && \ +unzip ameli.zip && \ +ls && \ +psql ameli < ./var/opt/opendata/ameli.sql +#cd var/opt/opendata \  +su postgres \ +dropdb ameli \ +dropuser opendata \ +createuser -IPRS opendata \ +createdb -E utf-8 -O ameli ameli \ +exit \ + +#psql ameli < ./ameli.sql +#su \ +#su postgres \ +#ropdb ameli \ +#dropuser opendata \ +#createuser -IPRS opendata \ +# Enter password for new role: opendata +# Enter it again: opendata +#createdb -E utf-8 -O ameli ameli \ +#psql ameli < /_dumps/ameli.sql \ +#exit \ +#rm -R var/ \ +#rm ameli.zip; + +#if [ -f /_dumps/ameli.sql ]; then + +#fi \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index c6a12f9..977f2f5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,15 +5,17 @@ services: # postgres database db: image: mdillon/postgis:9.6-alpine + build: + context: ./_provisioning/db volumes: - pgdata:/var/lib/postgresql/data - ./_provisioning/db/init:/docker-entrypoint-initdb.d - - ./_dumps:/dumps + - ./_dumps:/_dumps environment: POSTGRES_PASSWORD: $DB_PASSWORD POSTGRES_USER: $DB_USER working_dir: /usr/src/app - + api: build: context: ./_provisioning/api @@ -36,4 +38,5 @@ services: - db volumes: - pgdata: \ No newline at end of file + pgdata: + _dumps: \ No newline at end of file