view docker/Dockerfile.artifacts @ 9751:308a0d822d18 3.2.x

Keep configuration and data in distinct directories This allows having distinct volumes for configuration and data (artifact database, generated mapfiles and shapefiles, etc.). While at it, cleanup MapServer configuration a little bit.
author Tom Gottfried <tom@intevation.de>
date Tue, 11 Oct 2022 11:42:09 +0200
parents 0c4736d5dd4a
children b5d4cb088737
line wrap: on
line source
# Docker file for D4E River artifact server

FROM centos:7
MAINTAINER tom@intevation.de

# Necessary to run further yum-installs inside Docker container,
# if not already part of the base image:
RUN yum -q -y install yum-plugin-ovl && rpm --rebuilddb

# Install prerequisites
RUN yum -q -y install maven mercurial curl

# Add DEMs from demo dataset
ENV DEM_DIR /opt/d4e-river/dgm
ENV DATA_ARCH demodaten_3.1.10-bis-3.2.x.tar.gz
RUN mkdir -p $DEM_DIR
RUN curl -s "https://wald.intevation.org/frs/download.php/2282/$DATA_ARCH" | \
    tar -C $DEM_DIR --strip-components=1 --wildcards -xz 'demodaten/dem*.grd'


WORKDIR /opt/d4e/src
ENV REPO_URL https://scm.wald.intevation.org/hg/dive4elements/
ENV BRANCH 3.2.x
RUN hg clone -b $BRANCH $REPO_URL/framework
RUN hg clone -b $BRANCH $REPO_URL/http-client

RUN mvn -q -DskipTests -f framework/pom.xml install
RUN mvn -q -DskipTests -f http-client/pom.xml install

ADD . river

RUN mvn -q -DskipTests -f river/backend/pom.xml install

WORKDIR river/artifacts

# Install WSPLGEN
ENV WSPLGEN_URL https://wald.intevation.org/frs/download.php/1496/wsplgen-linux-64bit-static.gz
RUN curl -s $WSPLGEN_URL | gunzip > bin/wsplgen && chmod +x bin/wsplgen

# Create h2 databases
RUN ../../framework/artifact-database/bin/createArtifacts.sh
RUN ./bin/createDatacage.sh

RUN mvn -q -DskipTests package assembly:single

WORKDIR /opt/d4e/bin
RUN useradd d4e
RUN chown d4e:d4e .
USER d4e

RUN tar -xf ../src/river/artifacts/target/river-artifacts-1.0-SNAPSHOT-bin.tar

CMD bin/run.sh

http://dive4elements.wald.intevation.org