Mercurial > public > ssdt-docker
changeset 3:0cdc167e6319
DEP-2: postgres dockerfile
author | smith@nwoca.org |
---|---|
date | Sat, 12 Sep 2015 08:57:00 -0400 |
parents | 1bf338a32172 |
children | b5534ea9a4cb |
files | postgres/Dockerfile postgres/setupDatabase.sh |
diffstat | 2 files changed, 40 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/postgres/Dockerfile Sat Sep 12 08:57:00 2015 -0400 @@ -0,0 +1,17 @@ +# +# Docker file to create postgres image for ssdt applications + +FROM postgres:9.4.4 + +MAINTAINER Dave Smith smith@nwoca.org + +ENV PGDATA /var/lib/postgresql/data/pgdata +ENV DB_NAME database +ENV DB_USER dbuser +ENV DB_PASS dbpassword + +VOLUME "/var/log/postgresql" + +COPY setupDatabase.sh /docker-entrypoint-initdb.d/setupDatabase.sh + +RUN chmod 755 /docker-entrypoint-initdb.d/setupDatabase.sh \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/postgres/setupDatabase.sh Sat Sep 12 08:57:00 2015 -0400 @@ -0,0 +1,23 @@ +#!/bin/bash + +export PGUSER=postgres +TEST=`psql <<- EOSQL + SELECT 1 FROM pg_database WHERE datname='$DB_NAME'; +EOSQL` + +if [[ $TEST == "1" ]]; then + echo "$DB_NAME exists. continuing startup." + # database exists + # $? is 0 + exit 0 +else +echo "Creating $DB_NAME for $DB_USER" +psql <<- EOSQL + CREATE ROLE $DB_USER WITH LOGIN ENCRYPTED PASSWORD '${DB_PASS}' CREATEDB; + CREATE DATABASE $DB_NAME WITH OWNER $DB_USER TEMPLATE template0 ENCODING 'UTF8'; + GRANT ALL PRIVILEGES ON DATABASE $DB_NAME TO $DB_USER; +EOSQL +fi + +echo "" +echo "$DB_NAME database created"