view backend/doc/schema/Dockerfile @ 8969:fe81eb39080c

Avoid guessing year 1950 for HQ50 etc.
author mschaefer
date Tue, 03 Apr 2018 09:54:26 +0200
parents 8927ec8a3c32
children
line wrap: on
line source
# 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 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"]

http://dive4elements.wald.intevation.org