annotate 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
rev   line source
9684
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
1 # Docker file for D4E River artifact server
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
2
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
3 FROM centos:7
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
4 MAINTAINER tom@intevation.de
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
5
9715
278d285a16bf Ensure needed packages are installed
Tom Gottfried <tom@intevation.de>
parents: 9684
diff changeset
6 # Necessary to run further yum-installs inside Docker container,
278d285a16bf Ensure needed packages are installed
Tom Gottfried <tom@intevation.de>
parents: 9684
diff changeset
7 # if not already part of the base image:
9732
a6c6bba0fc4b Run yum commands silently
Tom Gottfried <tom@intevation.de>
parents: 9731
diff changeset
8 RUN yum -q -y install yum-plugin-ovl && rpm --rebuilddb
9715
278d285a16bf Ensure needed packages are installed
Tom Gottfried <tom@intevation.de>
parents: 9684
diff changeset
9
9684
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
10 # Install prerequisites
9732
a6c6bba0fc4b Run yum commands silently
Tom Gottfried <tom@intevation.de>
parents: 9731
diff changeset
11 RUN yum -q -y install maven mercurial curl
9716
c3afc0274bba Improve Docker-based development setup
Tom Gottfried <tom@intevation.de>
parents: 9715
diff changeset
12
c3afc0274bba Improve Docker-based development setup
Tom Gottfried <tom@intevation.de>
parents: 9715
diff changeset
13 # Add DEMs from demo dataset
c3afc0274bba Improve Docker-based development setup
Tom Gottfried <tom@intevation.de>
parents: 9715
diff changeset
14 ENV DEM_DIR /opt/d4e-river/dgm
c3afc0274bba Improve Docker-based development setup
Tom Gottfried <tom@intevation.de>
parents: 9715
diff changeset
15 ENV DATA_ARCH demodaten_3.1.10-bis-3.2.x.tar.gz
c3afc0274bba Improve Docker-based development setup
Tom Gottfried <tom@intevation.de>
parents: 9715
diff changeset
16 RUN mkdir -p $DEM_DIR
c3afc0274bba Improve Docker-based development setup
Tom Gottfried <tom@intevation.de>
parents: 9715
diff changeset
17 RUN curl -s "https://wald.intevation.org/frs/download.php/2282/$DATA_ARCH" | \
c3afc0274bba Improve Docker-based development setup
Tom Gottfried <tom@intevation.de>
parents: 9715
diff changeset
18 tar -C $DEM_DIR --strip-components=1 --wildcards -xz 'demodaten/dem*.grd'
c3afc0274bba Improve Docker-based development setup
Tom Gottfried <tom@intevation.de>
parents: 9715
diff changeset
19
9684
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
20
9731
1dfcbb09c231 Improve server deployment in Docker container
Tom Gottfried <tom@intevation.de>
parents: 9726
diff changeset
21 WORKDIR /opt/d4e/src
9684
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
22 ENV REPO_URL https://scm.wald.intevation.org/hg/dive4elements/
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
23 ENV BRANCH 3.2.x
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
24 RUN hg clone -b $BRANCH $REPO_URL/framework
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
25 RUN hg clone -b $BRANCH $REPO_URL/http-client
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
26
9733
93b9034613bc Skip tests in docker build
Tom Gottfried <tom@intevation.de>
parents: 9732
diff changeset
27 RUN mvn -q -DskipTests -f framework/pom.xml install
93b9034613bc Skip tests in docker build
Tom Gottfried <tom@intevation.de>
parents: 9732
diff changeset
28 RUN mvn -q -DskipTests -f http-client/pom.xml install
9684
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
29
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
30 ADD . river
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
31
9733
93b9034613bc Skip tests in docker build
Tom Gottfried <tom@intevation.de>
parents: 9732
diff changeset
32 RUN mvn -q -DskipTests -f river/backend/pom.xml install
9684
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
33
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
34 WORKDIR river/artifacts
9716
c3afc0274bba Improve Docker-based development setup
Tom Gottfried <tom@intevation.de>
parents: 9715
diff changeset
35
c3afc0274bba Improve Docker-based development setup
Tom Gottfried <tom@intevation.de>
parents: 9715
diff changeset
36 # Install WSPLGEN
c3afc0274bba Improve Docker-based development setup
Tom Gottfried <tom@intevation.de>
parents: 9715
diff changeset
37 ENV WSPLGEN_URL https://wald.intevation.org/frs/download.php/1496/wsplgen-linux-64bit-static.gz
c3afc0274bba Improve Docker-based development setup
Tom Gottfried <tom@intevation.de>
parents: 9715
diff changeset
38 RUN curl -s $WSPLGEN_URL | gunzip > bin/wsplgen && chmod +x bin/wsplgen
c3afc0274bba Improve Docker-based development setup
Tom Gottfried <tom@intevation.de>
parents: 9715
diff changeset
39
c3afc0274bba Improve Docker-based development setup
Tom Gottfried <tom@intevation.de>
parents: 9715
diff changeset
40 # Create h2 databases
9731
1dfcbb09c231 Improve server deployment in Docker container
Tom Gottfried <tom@intevation.de>
parents: 9726
diff changeset
41 RUN ../../framework/artifact-database/bin/createArtifacts.sh
1dfcbb09c231 Improve server deployment in Docker container
Tom Gottfried <tom@intevation.de>
parents: 9726
diff changeset
42 RUN ./bin/createDatacage.sh
1dfcbb09c231 Improve server deployment in Docker container
Tom Gottfried <tom@intevation.de>
parents: 9726
diff changeset
43
9733
93b9034613bc Skip tests in docker build
Tom Gottfried <tom@intevation.de>
parents: 9732
diff changeset
44 RUN mvn -q -DskipTests package assembly:single
9684
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
45
9731
1dfcbb09c231 Improve server deployment in Docker container
Tom Gottfried <tom@intevation.de>
parents: 9726
diff changeset
46 WORKDIR /opt/d4e/bin
1dfcbb09c231 Improve server deployment in Docker container
Tom Gottfried <tom@intevation.de>
parents: 9726
diff changeset
47 RUN useradd d4e
1dfcbb09c231 Improve server deployment in Docker container
Tom Gottfried <tom@intevation.de>
parents: 9726
diff changeset
48 RUN chown d4e:d4e .
1dfcbb09c231 Improve server deployment in Docker container
Tom Gottfried <tom@intevation.de>
parents: 9726
diff changeset
49 USER d4e
1dfcbb09c231 Improve server deployment in Docker container
Tom Gottfried <tom@intevation.de>
parents: 9726
diff changeset
50
1dfcbb09c231 Improve server deployment in Docker container
Tom Gottfried <tom@intevation.de>
parents: 9726
diff changeset
51 RUN tar -xf ../src/river/artifacts/target/river-artifacts-1.0-SNAPSHOT-bin.tar
1dfcbb09c231 Improve server deployment in Docker container
Tom Gottfried <tom@intevation.de>
parents: 9726
diff changeset
52
1dfcbb09c231 Improve server deployment in Docker container
Tom Gottfried <tom@intevation.de>
parents: 9726
diff changeset
53 CMD bin/run.sh

http://dive4elements.wald.intevation.org