view docker/Dockerfile.gwt-client @ 9790:75dc4ea60938 3.2.x

Drop using explicit container names Compose will generate names for the containers and containers can connect each other on the network via the service names. This avoids the unnecessary extra "name space" and prepares the application for usage with different project names.
author Tom Gottfried <tom@intevation.de>
date Thu, 20 Jul 2023 10:25:59 +0200
parents df61a569a289
children 8d71363cd3bd
line wrap: on
line source
# Docker file for D4E River GWT client

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 tomcat gnu-free-sans-fonts curl

# Prevent Tomcat from logging to files
# (JRE default is logging to System.err)
RUN rm /etc/tomcat/logging.properties

WORKDIR /opt/d4e
ENV REPO_URL https://hg.wald.intevation.org/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 -f framework/pom.xml install
RUN mvn -q -f http-client/pom.xml install

RUN curl -sLO "https://github.com/openlayers/ol2/releases/download/release-2.11/OpenLayers-2.11.tar.gz"

# Use latest patch release and fake version=4.1-p20141119 to work around
# the actual version (which is known to work properly)
# is not publicly available
RUN curl -sLO https://www.smartclient.com/builds/SmartGWT/4.1p/LGPL/latest/smartgwt.jar
RUN mvn -q install:install-file -Dfile=smartgwt.jar -Dversion=4.1-p20141119 \
    -DartifactId=smartgwt-lgpl -DgroupId=com.isomorphic.smartgwt.lgpl \
    -Dpackaging=jar

# Download dependencies before adding sources to leverage build cache
ADD gwt-client/pom.xml river/gwt-client/
RUN mvn -q -f river/gwt-client/pom.xml dependency:go-offline

ADD checkstyle.xml river/
ADD gwt-client river/gwt-client/

RUN tar -C river/gwt-client/src/main/webapp \
        --exclude=OpenLayers-2.11/doc --exclude=OpenLayers-2.11/tests \
        --exclude=OpenLayers-2.11/examples -xf OpenLayers-2.11.tar.gz
RUN rm OpenLayers-2.11.tar.gz

RUN mvn -q -f river/gwt-client/pom.xml package && \
    mv river/gwt-client/target/gwt-client-*.war \
        /usr/share/tomcat/webapps/d4e-river.war

# Configure tomcat
RUN sed -i '/Connector port="8080"/a \URIEncoding="UTF-8"' /etc/tomcat/server.xml
RUN ln -sf /opt/d4e/river/gwt-client/config/context.xml /etc/tomcat
VOLUME /opt/d4e/river/gwt-client/config

USER tomcat
ADD docker/flys_user_file /usr/share/tomcat/

CMD ["/usr/libexec/tomcat/server", "start"]

http://dive4elements.wald.intevation.org