annotate docker/Dockerfile.gwt-client @ 9720:13e2d38ad314 3.2.x

Improve Docker based setup _ Make CentOS based images more resilient against package installation problems _ Upgrade database image to Debian bullseye to avoid OpenSSL bug that prevented downloading demo data and do some cleanup in passing _ Add docker-compose file for more automated setup
author Tom Gottfried <tom@intevation.de>
date Thu, 24 Feb 2022 18:49:02 +0100
parents 278d285a16bf
children a6c6bba0fc4b
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 GWT client
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: 9687
diff changeset
6 # Necessary to run further yum-installs inside Docker container,
278d285a16bf Ensure needed packages are installed
Tom Gottfried <tom@intevation.de>
parents: 9687
diff changeset
7 # if not already part of the base image:
9720
13e2d38ad314 Improve Docker based setup
Tom Gottfried <tom@intevation.de>
parents: 9715
diff changeset
8 RUN yum -y install yum-plugin-ovl && rpm --rebuilddb
9715
278d285a16bf Ensure needed packages are installed
Tom Gottfried <tom@intevation.de>
parents: 9687
diff changeset
9
9684
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
10 # Install prerequisites
9715
278d285a16bf Ensure needed packages are installed
Tom Gottfried <tom@intevation.de>
parents: 9687
diff changeset
11 RUN yum -y install maven mercurial tomcat gnu-free-sans-fonts curl
9684
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
12
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
13 WORKDIR /opt/d4e
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
14 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
15 ENV BRANCH 3.2.x
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
16 RUN hg clone -b $BRANCH $REPO_URL/framework
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
17 RUN hg clone -b $BRANCH $REPO_URL/http-client
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
18
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
19 RUN mvn -q -f framework/pom.xml install
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
20 RUN mvn -q -f http-client/pom.xml install
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
21
9685
2dad42df79a8 Add OpenLayers in Docker setup
Tom Gottfried <tom@intevation.de>
parents: 9684
diff changeset
22 RUN curl -LO "https://github.com/openlayers/ol2/releases/download/release-2.11/OpenLayers-2.11.tar.gz"
2dad42df79a8 Add OpenLayers in Docker setup
Tom Gottfried <tom@intevation.de>
parents: 9684
diff changeset
23
9684
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
24 # Use latest patch release and fake version=4.1-p20141119 to work around
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
25 # the actual version (which is known to work properly)
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
26 # is not publicly available
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
27 RUN curl -O https://www.smartclient.com/builds/SmartGWT/4.1p/LGPL/latest/smartgwt.jar
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
28
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
29 ADD . river
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
30
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
31 RUN mvn -q install:install-file -Dfile=smartgwt.jar -Dversion=4.1-p20141119 \
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
32 -DartifactId=smartgwt-lgpl -DgroupId=com.isomorphic.smartgwt.lgpl \
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
33 -Dpackaging=jar
9685
2dad42df79a8 Add OpenLayers in Docker setup
Tom Gottfried <tom@intevation.de>
parents: 9684
diff changeset
34 RUN tar -C river/gwt-client/src/main/webapp \
2dad42df79a8 Add OpenLayers in Docker setup
Tom Gottfried <tom@intevation.de>
parents: 9684
diff changeset
35 --exclude=OpenLayers-2.11/doc --exclude=OpenLayers-2.11/tests \
2dad42df79a8 Add OpenLayers in Docker setup
Tom Gottfried <tom@intevation.de>
parents: 9684
diff changeset
36 --exclude=OpenLayers-2.11/examples -xf OpenLayers-2.11.tar.gz
2dad42df79a8 Add OpenLayers in Docker setup
Tom Gottfried <tom@intevation.de>
parents: 9684
diff changeset
37 RUN rm OpenLayers-2.11.tar.gz
9684
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
38 RUN mvn -q -f river/gwt-client/pom.xml package && \
9686
33303817ed37 Deploy webapp as d4e-river
Tom Gottfried <tom@intevation.de>
parents: 9685
diff changeset
39 mv river/gwt-client/target/gwt-client-*.war \
33303817ed37 Deploy webapp as d4e-river
Tom Gottfried <tom@intevation.de>
parents: 9685
diff changeset
40 /usr/share/tomcat/webapps/d4e-river.war
9684
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
41
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
42 ADD docker/flys_user_file /root/
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
43
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
44 EXPOSE 8080
537fe44f2792 Add basic Docker setup for development
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
45 CMD ["/usr/libexec/tomcat/server", "start"]

http://dive4elements.wald.intevation.org