mirror of
https://github.com/HaitiData/haitidata.git
synced 2026-11-04 05:46:29 +00:00
116 lines
4.8 KiB
Docker
116 lines
4.8 KiB
Docker
FROM tomcat:8.5-jre8
|
|
MAINTAINER GeoNode Development Team
|
|
|
|
#
|
|
# Set GeoServer version and data directory
|
|
#
|
|
ENV GEOSERVER_VERSION=2.10.x
|
|
ENV GEOSERVER_DATA_DIR="/geoserver_data/data"
|
|
|
|
# Unset Java related ENVs since they may change with Oracle JDK
|
|
ENV JAVA_VERSION=
|
|
ENV JAVA_DEBIAN_VERSION=
|
|
|
|
# Set JAVA_HOME to /usr/lib/jvm/default-java and link it to OpenJDK installation
|
|
RUN ln -s /usr/lib/jvm/java-8-openjdk-amd64 /usr/lib/jvm/default-java
|
|
ENV JAVA_HOME /usr/lib/jvm/default-java
|
|
|
|
ADD resources /tmp/resources
|
|
|
|
# If a matching Oracle JDK tar.gz exists in /tmp/resources, move it to /var/cache/oracle-jdk8-installer
|
|
# where oracle-java8-installer will detect it
|
|
RUN if ls /tmp/resources/*jdk-*-linux-x64.tar.gz > /dev/null 2>&1; then \
|
|
mkdir /var/cache/oracle-jdk8-installer && \
|
|
mv /tmp/resources/*jdk-*-linux-x64.tar.gz /var/cache/oracle-jdk8-installer/; \
|
|
fi;
|
|
|
|
# Install Oracle JDK (and uninstall OpenJDK JRE) if the build-arg ORACLE_JDK = true or an Oracle tar.gz
|
|
# was found in /tmp/resources
|
|
ARG ORACLE_JDK=false
|
|
RUN if ls /var/cache/oracle-jdk8-installer/*jdk-*-linux-x64.tar.gz > /dev/null 2>&1 || [ "$ORACLE_JDK" = true ]; then \
|
|
apt-get autoremove --purge -y openjdk-8-jre-headless && \
|
|
echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true \
|
|
| debconf-set-selections && \
|
|
echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" \
|
|
> /etc/apt/sources.list.d/webupd8team-java.list && \
|
|
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886 && \
|
|
rm -rf /var/lib/apt/lists/* && \
|
|
apt-get update && \
|
|
apt-get install -y oracle-java8-installer oracle-java8-set-default && \
|
|
ln -s --force /usr/lib/jvm/java-8-oracle /usr/lib/jvm/default-java && \
|
|
rm -rf /var/lib/apt/lists/* && \
|
|
rm -rf /var/cache/oracle-jdk8-installer; \
|
|
if [ -f /tmp/resources/jce_policy.zip ]; then \
|
|
unzip -j /tmp/resources/jce_policy.zip -d /tmp/jce_policy && \
|
|
mv /tmp/jce_policy/*.jar $JAVA_HOME/jre/lib/security/; \
|
|
fi; \
|
|
fi;
|
|
|
|
RUN mkdir -p $GEOSERVER_DATA_DIR
|
|
# ADD compiled_geoserver_data /geoserver_data/data
|
|
WORKDIR /tmp
|
|
RUN if [ ! -f /tmp/resources/jai-1_1_3-lib-linux-amd64.tar.gz ]; then \
|
|
wget http://download.java.net/media/jai/builds/release/1_1_3/jai-1_1_3-lib-linux-amd64.tar.gz -P ./resources;\
|
|
fi; \
|
|
if [ ! -f /tmp/resources/jai_imageio-1_1-lib-linux-amd64.tar.gz ]; then \
|
|
wget http://download.java.net/media/jai-imageio/builds/release/1.1/jai_imageio-1_1-lib-linux-amd64.tar.gz -P ./resources;\
|
|
fi; \
|
|
mv resources/jai-1_1_3-lib-linux-amd64.tar.gz ./ && \
|
|
mv resources/jai_imageio-1_1-lib-linux-amd64.tar.gz ./ && \
|
|
gunzip -c jai-1_1_3-lib-linux-amd64.tar.gz | tar xf - && \
|
|
gunzip -c jai_imageio-1_1-lib-linux-amd64.tar.gz | tar xf - && \
|
|
mv /tmp/jai-1_1_3/lib/*.jar $JAVA_HOME/jre/lib/ext/ && \
|
|
mv /tmp/jai-1_1_3/lib/*.so $JAVA_HOME/jre/lib/amd64/ && \
|
|
mv /tmp/jai_imageio-1_1/lib/*.jar $JAVA_HOME/jre/lib/ext/ && \
|
|
mv /tmp/jai_imageio-1_1/lib/*.so $JAVA_HOME/jre/lib/amd64/ && \
|
|
rm /tmp/jai-1_1_3-lib-linux-amd64.tar.gz && \
|
|
rm -r /tmp/jai-1_1_3 && \
|
|
rm /tmp/jai_imageio-1_1-lib-linux-amd64.tar.gz && \
|
|
rm -r /tmp/jai_imageio-1_1
|
|
|
|
#
|
|
# Download and install GeoServer
|
|
#
|
|
RUN if [ ! -f /tmp/resources/geoserver.war ]; then \
|
|
wget --progress=bar:force:noscroll http://build.geonode.org/geoserver/latest/geoserver-${GEOSERVER_VERSION}.war \
|
|
-O /tmp/resources/geoserver.war; \
|
|
fi; \
|
|
|
|
unzip /tmp/resources/geoserver.war -d $CATALINA_HOME/webapps/geoserver \
|
|
&& rm -rf $CATALINA_HOME/webapps/geoserver/data \
|
|
&& rm -rf /tmp/geoserver
|
|
|
|
# Custom settings for envronment variables
|
|
ENV GEOSERVER_OPTS "-Xms2G -Xmx2G -XX:MaxPermSize=512m -XX:PermSize=128m -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:ParallelGCThreads=4"
|
|
|
|
#-XX:+UseConcMarkSweepGC use this rather than parallel GC?
|
|
ENV JAVA_OPTS "$JAVA_OPTS $GEOSERVER_OPTS "
|
|
|
|
# copy the script and perform the run of scripts from entrypoint.sh
|
|
RUN mkdir -p /usr/local/tomcat/tmp
|
|
WORKDIR /usr/local/tomcat/tmp
|
|
|
|
RUN apt-get update \
|
|
&& apt-get -y upgrade \
|
|
&& apt-get install -y python python-pip python-dev \
|
|
&& pip install --upgrade pip
|
|
|
|
COPY entrypoint.sh /usr/local/tomcat/tmp
|
|
|
|
RUN chmod +x /usr/local/tomcat/tmp/entrypoint.sh
|
|
|
|
# Install any plugin zip files in resources/plugins
|
|
RUN if ls /tmp/resources/plugins/*.zip > /dev/null 2>&1; then \
|
|
for p in /tmp/resources/plugins/*.zip; do \
|
|
unzip $p -d /tmp/gs_plugin \
|
|
&& mv /tmp/gs_plugin/*.jar $CATALINA_HOME/webapps/geoserver/WEB-INF/lib/ \
|
|
&& rm -rf /tmp/gs_plugin; \
|
|
done; \
|
|
fi
|
|
|
|
COPY tomcat-users.xml /usr/local/tomcat/conf/tomcat-users.xml
|
|
COPY context.xml /usr/local/tomcat/webapps/manager/META-INF/context.xml
|
|
|
|
|
|
CMD ["/usr/local/tomcat/tmp/entrypoint.sh"]
|