Mercurial > dive4elements > river
diff backend/doc/schema/Dockerfile @ 9030:4dc047fb3633
adding removed files
author | gernotbelger |
---|---|
date | Fri, 27 Apr 2018 10:48:28 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/backend/doc/schema/Dockerfile Fri Apr 27 10:48:28 2018 +0200 @@ -0,0 +1,82 @@ +# 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:63333 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 curl + +# +# 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 + +ENV PGCONF /etc/postgresql/9.4/main/postgresql.conf +RUN echo "listen_addresses='*'" >> $PGCONF + +# +# 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 + +# Go to postgres home for write permissions +WORKDIR /var/lib/postgresql +ENV DATA_ARCH demodaten_3.1.10-bis-3.2.x.tar.gz +RUN curl -k "https://wald.intevation.org/frs/download.php/2282/$DATA_ARCH" | \ + tar xz + +ENV PGDATA /var/lib/postgresql/9.4/main +RUN /usr/lib/postgresql/9.4/bin/pg_ctl start -wo "--config_file=$PGCONF" && \ + /opt/d4eriver_db/postgresql-setup.sh && \ + psql -f demodaten/d4e_demodata.dump.sql d4e && \ + createuser -S -D -R seddb && \ + createdb seddb && \ + psql -f demodaten/seddb_demodata.dump.sql seddb && \ + /usr/lib/postgresql/9.4/bin/pg_ctl stop + +# +# 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"]