diff docker/Dockerfile.db @ 9684:537fe44f2792 3.2.x

Add basic Docker setup for development
author Tom Gottfried <tom@intevation.de>
date Thu, 30 Jul 2020 19:00:44 +0200
parents backend/doc/schema/Dockerfile@8927ec8a3c32
children c3afc0274bba
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docker/Dockerfile.db	Thu Jul 30 19:00:44 2020 +0200
@@ -0,0 +1,79 @@
+# Docker file for postgresql 9.4 on debain
+
+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 ./backend/doc/schema /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 && \
+    psql -c "ALTER USER seddb WITH PASSWORD 'seddb'" && \
+    createdb seddb && \
+    psql -f demodaten/seddb_demodata.dump.sql seddb && \
+    psql -c "GRANT SELECT ON ALL TABLES IN SCHEMA public TO seddb" 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