# HG changeset patch # User Tom Gottfried # Date 1449765687 -3600 # Node ID 13d5b6c67cef2e8ae867bdd78527f514e1a54d24 # Parent c1cea6c959675031650464c36a2cc99f441c91d0 Add Dockerfile for Postgres-DB setup. diff -r c1cea6c95967 -r 13d5b6c67cef backend/doc/schema/Dockerfile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/backend/doc/schema/Dockerfile Thu Dec 10 17:41:27 2015 +0100 @@ -0,0 +1,69 @@ +# Docker file for postgresql 9.4 on debain +# +# build with e.g. `docker build --force-rm=true -t d4e/river_db .', +# then run with e.g. +# `docker run --name d4eriver_db -dp 2345:5432 d4e/river_db:latest' +# + +FROM debian:jessie +MAINTAINER tom@intevation.de + +# +# Use utf-8 +# +RUN echo \ + "locales locales/locales_to_be_generated multiselect en_US.UTF-8 UTF-8" | \ + debconf-set-selections && \ + echo "locales locales/default_environment_locale select en_US.UTF-8" | \ + debconf-set-selections + +RUN apt-get update -y && apt-get install -y locales + +ENV LC_ALL en_US.UTF-8 + +# +# Install packages +# +RUN apt-get update && \ + apt-get install -y postgresql-9.4-postgis-2.1 postgis + +# +# Use user postgres to run the next commands +# +USER postgres + +RUN /etc/init.d/postgresql start && \ + psql --command "CREATE USER admin WITH SUPERUSER PASSWORD 'secret';" + +# +# Adjust PostgreSQL configuration so that remote connections to the +# database are possible. +# +RUN echo "host all all 0.0.0.0/0 md5" >> \ + /etc/postgresql/9.4/main/pg_hba.conf + +RUN echo "listen_addresses='*'" >> /etc/postgresql/9.4/main/postgresql.conf + +# +# Expose the PostgreSQL port +# +EXPOSE 5432 + +# +# Create database +# +# Don't mind scary messages like +# 'FATAL: the database system is starting up'. +# It's because of the -w +# +ADD . /opt/d4eriver_db + +RUN /usr/lib/postgresql/9.4/bin/pg_ctl start -wD /etc/postgresql/9.4/main/ && \ + /opt/d4eriver_db/postgresql-setup.sh + +# +# Set the default command to run when starting the container +# +CMD ["/usr/lib/postgresql/9.4/bin/postgres", "-D", \ + "/var/lib/postgresql/9.4/main", "-c", \ + "config_file=/etc/postgresql/9.4/main/postgresql.conf"]