Mercurial > dive4elements > river
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"] |