Commit 86ddc7cb authored by Ignacio's avatar Ignacio
Browse files

Cambia imagen de openjdk a tomcat8 con oracle

parent 9b2fd067
Loading
Loading
Loading
Loading
+1 −5
Original line number Diff line number Diff line
*
!/resources/*.zip
!/resources/*.jar
!/resources/*.deb
!/resources/*.tar.gz
!/scripts
!scripts
+90 −123
Original line number Diff line number Diff line
FROM openjdk:8-jdk
FROM openweb/oracle-tomcat:8.5-jre8

LABEL maintainer="info@redmic.es"

ENV DEBIAN_FRONTEND="noninteractive" \
	GEOSERVER_PLUGINS="css inspire libjpeg-turbo csw wps pyramid vectortiles netcdf gdal importer netcdf-out" \
	GEOSERVER_COMMUNITY_PLUGINS="gwc-s3" \
	GEOSERVER_MAJOR_VERSION="2.12" \
	GEOSERVER_MINOR_VERSION="5" \
	GEOSERVER_COMMUNITY_PLUGINS="" \
	GEOSERVER_MAJOR_VERSION="2.13" \
	GEOSERVER_MINOR_VERSION="3" \
	GEOSERVER_DATA_DIR="/var/geoserver/data" \
	GEOSERVER_HOME="/opt/geoserver" \
	GEOSERVER_HOME="${CATALINA_HOME}/webapps/geoserver" \
	GEOSERVER_LOG_DIR="/var/log/geoserver" \
	GEOSERVER_OPTS="-Djava.awt.headless=true \
		-server \
@@ -33,151 +33,118 @@ ENV GEOSERVER_VERSION="${GEOSERVER_MAJOR_VERSION}.${GEOSERVER_MINOR_VERSION}" \
	GEOSERVER_LOG_LOCATION="${GEOSERVER_LOG_DIR}/geoserver.log" \
	GDAL_DATA="/usr/share/gdal/2.1"

# El espacio final es necesario, corrige bug en script de arranque
ENV MARLIN_JAR="${GEOSERVER_HOME}/lib/marlin-${MARLIN_VERSION}-Unsafe.jar "
ARG TURBO_JPEG_VERSION=1.5.3
ARG TEMP_PATH=/tmp/resources
ARG MARLIN_VERSION=0.9.3
ARG JAI_VERSION=1_1_3
ARG IMAGE_IO_VERSION=1_1
ARG GDAL_VERSION="2.1.2"

COPY ./scripts /

# Install extra fonts to use with sld font markers
RUN mkdir -p "${TEMP_PATH}" "${GEOSERVER_DATA_DIR}" "${GEOSERVER_LOG_DIR}" && \
	apt-get update && \
	apt-get install -y --no-install-recommends fonts-cantarell \
		lmodern \
		ttf-aenigma \
		ttf-georgewilliams \
		ttf-bitstream-vera \
		ttf-sjfonts \
		tv-fonts \
		fonts-lyx \
#		lmodern \
#		ttf-aenigma \
#		ttf-georgewilliams \
#		ttf-bitstream-vera \
#		ttf-sjfonts \
#		tv-fonts \
#		fonts-lyx \
		unzip \
		libtcnative-1 \
		libgdal20 \
#		libgdal20 \
		libgdal-java \
		libnetcdf11 \
		libnetcdf-c++4 \
		netcdf-bin \
		dnsutils

		dnsutils && \
	# Copy resources
	# Install Google Noto fonts
RUN mkdir -p /usr/share/fonts/truetype/noto && \
	mkdir -p /usr/share/fonts/truetype/noto && \
	for FONT in ${NOTO_FONTS}; \
	do \
		if [ ! -f ${TEMP_PATH}/${FONT}.zip ]; then \
			curl -L https://noto-website-2.storage.googleapis.com/pkgs/${FONT}.zip --output ${TEMP_PATH}/${FONT}.zip ; \
		fi; \
		curl -L https://noto-website-2.storage.googleapis.com/pkgs/${FONT}.zip --output ${TEMP_PATH}/${FONT}.zip && \
		unzip -o ${TEMP_PATH}/${FONT}.zip -d /usr/share/fonts/truetype/noto ; \
	done

	done && \
	# Install Google Fonts
RUN for FONT in ${GOOGLE_FONTS}; \
	for FONT in ${GOOGLE_FONTS}; \
	do \
		mkdir -p /usr/share/fonts/truetype/${FONT} && \
		if [ ! -f ${TEMP_PATH}/${FONT}.zip ]; then \
			curl -L "https://fonts.google.com/download?family=${FONT}" --output ${TEMP_PATH}/${FONT}.zip ; \
		fi; \
		curl -L "https://fonts.google.com/download?family=${FONT}" --output ${TEMP_PATH}/${FONT}.zip && \
		unzip -o ${TEMP_PATH}/${FONT}.zip -d /usr/share/fonts/truetype/${FONT} ; \
	done

	done && \
	# Clean Tomcat
	rm -rf ${CATALINA_HOME}/webapps/* && \
	# Install GeoServer
RUN FILENAME="geoserver-${GEOSERVER_VERSION}-bin.zip" && \
	if [ ! -f ${TEMP_PATH}/${FILENAME} ]; then \
	FILENAME="geoserver-${GEOSERVER_VERSION}-war.zip" && \
	URL="https://sourceforge.net/projects/geoserver/files/GeoServer/${GEOSERVER_VERSION}" && \
		curl -L ${URL}/${FILENAME} -o ${TEMP_PATH}/${FILENAME} ; \
	fi; \
	unzip -o ${TEMP_PATH}/${FILENAME} -d /opt/ && \
	mv -v ${GEOSERVER_HOME}* ${GEOSERVER_HOME} && \
	rm -rf ${GEOSERVER_HOME}/data_dir/coverages/* \
		${GEOSERVER_HOME}/data_dir/data/* \
		${GEOSERVER_HOME}/data_dir/demo/* \
		${GEOSERVER_HOME}/data_dir/gwc-layers/* \
		${GEOSERVER_HOME}/data_dir/layergroups/* \
		${GEOSERVER_HOME}/data_dir/workspaces/*

	curl -L ${URL}/${FILENAME} -o ${TEMP_PATH}/${FILENAME} && \
	unzip -o ${TEMP_PATH}/${FILENAME} -d ${TEMP_PATH} && \
	unzip -o ${TEMP_PATH}/geoserver.war -d ${GEOSERVER_HOME} && \
	mv /context.xml ${GEOSERVER_HOME}/META-INF/context.xml && \
	rm -rf ${GEOSERVER_HOME}/data/coverages/* \
		${GEOSERVER_HOME}/data/data/* \
		${GEOSERVER_HOME}/data/demo/* \
		${GEOSERVER_HOME}/data/gwc-layers/* \
		${GEOSERVER_HOME}/data/layergroups/* \
		${GEOSERVER_HOME}/data/workspaces/* && \
	# Install Marlin
ARG MARLIN_VERSION=0.9.1
RUN FILENAME=$(echo "marlin-${MARLIN_VERSION}-Unsafe.jar") && \
	if [ ! -f ${TEMP_PATH}/${FILENAME} ]; then \
	FILENAME=$(echo "marlin-${MARLIN_VERSION}-Unsafe.jar") && \
	URL="https://github.com/bourgesl/marlin-renderer/releases/download/v0_9_1//${FILENAME}" && \
		curl -L ${URL} --output ${TEMP_PATH}/${FILENAME} ; \
	fi; \
	cp ${TEMP_PATH}/${FILENAME} ${GEOSERVER_HOME}/lib

# El espacio final es necesario, corrige bug en script de arranque
ENV MARLIN_JAR="${GEOSERVER_HOME}/lib/marlin-${MARLIN_VERSION}-Unsafe.jar "

	curl -L ${URL} --output ${TEMP_PATH}/${FILENAME} && \
	cp ${TEMP_PATH}/${FILENAME} ${GEOSERVER_HOME}/lib && \
	# Install Turbo JPEG
ARG TURBO_JPEG_VERSION=1.5.3
RUN TURBO_JPEG_FILENAME=$(echo "libjpeg-turbo-official_${TURBO_JPEG_VERSION}_amd64.deb") && \
	if [ ! -f ${TEMP_PATH}/${TURBO_JPEG_FILENAME} ]; then \
	TURBO_JPEG_FILENAME=$(echo "libjpeg-turbo-official_${TURBO_JPEG_VERSION}_amd64.deb") && \
	URL="https://sourceforge.net/projects/libjpeg-turbo/files/${TURBO_JPEG_VERSION}/${TURBO_JPEG_FILENAME}" && \
		curl -L ${URL} --output ${TEMP_PATH}/${TURBO_JPEG_FILENAME} ; \
	fi; \
	dpkg -i ${TEMP_PATH}/${TURBO_JPEG_FILENAME}

	curl -L ${URL} --output ${TEMP_PATH}/${TURBO_JPEG_FILENAME} && \
	dpkg -i ${TEMP_PATH}/${TURBO_JPEG_FILENAME} && \
	# Install JAI & Image IO
ARG JAI_VERSION=1_1_3
ARG IMAGE_IO_VERSION=1_1

RUN rm ${GEOSERVER_HOME}/webapps/geoserver/WEB-INF/lib/jai_*jar && \
	cd ${JAVA_HOME} && \
	echo ${JAVA_HOME} && \
	JAI_FILENAME=$(echo "jai-${JAI_VERSION}-lib-linux-amd64-jdk.bin") && \
	if [ ! -f ${TEMP_PATH}/${JAI_FILENAME} ]; then \
		URL="http://data.boundlessgeo.com/suite/jai/${JAI_FILENAME}" && \
		curl -L ${URL} --output ${TEMP_PATH}/${JAI_FILENAME} ; \
	fi; \
	mv ${TEMP_PATH}/${JAI_FILENAME} ${JAVA_HOME} && \
	echo "yes" | sh ${JAI_FILENAME} && \
	rm ${JAI_FILENAME} && \
	export _POSIX2_VERSION=199209 && \
	IMAGE_IO_FILENAME="jai_imageio-${IMAGE_IO_VERSION}-lib-linux-amd64-jdk.bin" && \
	if [ ! -f ${TEMP_PATH}/${IMAGE_IO_FILENAME} ]; then \
		URL="http://data.opengeo.org/suite/jai/${IMAGE_IO_FILENAME}" && \
		curl -L ${URL} --output ${TEMP_PATH}/${IMAGE_IO_FILENAME} ; \
	fi; \
	mv ${TEMP_PATH}/${IMAGE_IO_FILENAME} ${JAVA_HOME} && \
	echo "yes" | sh ${IMAGE_IO_FILENAME} && \
	rm ${IMAGE_IO_FILENAME}

	rm ${GEOSERVER_HOME}/WEB-INF/lib/jai_*jar && \
	JAI_FILENAME=$(echo "jai-${JAI_VERSION}-lib-linux-amd64.tar.gz") && \
	URL="http://download.java.net/media/jai/builds/release/${JAI_VERSION}/${JAI_FILENAME}" && \
	curl -L ${URL} --output ${TEMP_PATH}/${JAI_FILENAME} && \
	tar xvfz ${TEMP_PATH}/${JAI_FILENAME} -C ${TEMP_PATH} && \
	mv ${TEMP_PATH}/jai-${JAI_VERSION}/lib/*.jar ${JAVA_HOME}/lib/ext/ && \
	mv ${TEMP_PATH}/jai-${JAI_VERSION}/lib/*.so ${JAVA_HOME}/lib/amd64/ && \
	IMAGE_IO_FILENAME="jai_imageio-${IMAGE_IO_VERSION}-lib-linux-amd64.tar.gz" && \
	URL="http://download.java.net/media/jai-imageio/builds/release/1.1/${IMAGE_IO_FILENAME}" && \
	curl -L ${URL} --output ${TEMP_PATH}/${IMAGE_IO_FILENAME} && \
	tar xvfz ${TEMP_PATH}/${IMAGE_IO_FILENAME} -C ${TEMP_PATH} && \
	mv ${TEMP_PATH}/jai_imageio-${IMAGE_IO_VERSION}/lib/*.jar ${JAVA_HOME}/lib/ext/ && \
	mv ${TEMP_PATH}/jai_imageio-${IMAGE_IO_VERSION}/lib/*.so ${JAVA_HOME}/lib/amd64/ && \
	# Install GeoServer Plugins
RUN URL="https://sourceforge.net/projects/geoserver/files/GeoServer/${GEOSERVER_VERSION}/extensions" && \
	URL="https://sourceforge.net/projects/geoserver/files/GeoServer/${GEOSERVER_VERSION}/extensions" && \
	for PLUGIN in ${GEOSERVER_PLUGINS}; \
	do \
		FILENAME="geoserver-${GEOSERVER_VERSION}-${PLUGIN}-plugin.zip" && \
		if [ ! -f ${TEMP_PATH}/${FILENAME} ]; then \
			curl -L "${URL}/${FILENAME}" -o "${TEMP_PATH}/${FILENAME}" ; \
		fi; \
		unzip -o "${TEMP_PATH}/${FILENAME}" -d "${GEOSERVER_HOME}/webapps/geoserver/WEB-INF/lib/" ; \
	done

		curl -L "${URL}/${FILENAME}" -o "${TEMP_PATH}/${FILENAME}" && \
		unzip -o "${TEMP_PATH}/${FILENAME}" -d "${GEOSERVER_HOME}/WEB-INF/lib/" ; \
	done && \
	# Install GeoServer Community Plugins
RUN URL="http://ares.boundlessgeo.com/geoserver/${GEOSERVER_MAJOR_VERSION}.x/community-latest" && \
	URL="http://ares.opengeo.org/geoserver/master/community-latest/" && \
	for PLUGIN in ${GEOSERVER_COMMUNITY_PLUGINS}; \
	do \
		FILENAME="geoserver-${GEOSERVER_MAJOR_VERSION}-SNAPSHOT-${PLUGIN}-plugin.zip" && \
		if [ ! -f ${TEMP_PATH}/${FILENAME} ]; then \
			curl -L ${URL}/${FILENAME} -o ${TEMP_PATH}/${FILENAME} ; \
		fi; \
		unzip -o ${TEMP_PATH}/${FILENAME} -d ${GEOSERVER_HOME}/webapps/geoserver/WEB-INF/lib/ ; \
	done

ARG GDAL_VERSION="2.1.2"
RUN rm ${GEOSERVER_HOME}/webapps/geoserver/WEB-INF/lib/imageio-ext-gdal-bindings-*.jar && \
		curl -L ${URL}/${FILENAME} -o ${TEMP_PATH}/${FILENAME} && \
		unzip -o ${TEMP_PATH}/${FILENAME} -d ${GEOSERVER_HOME}/WEB-INF/lib/ ; \
	done && \
	rm ${GEOSERVER_HOME}/WEB-INF/lib/imageio-ext-gdal-bindings-*.jar && \
	ln -s /usr/share/java/gdal.jar \
		"${GEOSERVER_HOME}/webapps/geoserver/WEB-INF/lib/imageio-ext-gdal-bindings-${GDAL_VERSION}.jar"

		"${GEOSERVER_HOME}/WEB-INF/lib/imageio-ext-gdal-bindings-${GDAL_VERSION}.jar" && \
	# Clean
RUN rm -fr ${TEMP_PATH} && \
	rm -fr ${TEMP_PATH} && \
	rm -rf /var/lib/apt/lists/* && \
	apt-get clean && \
	useradd geoserver && \
	chown -R geoserver:geoserver "${GEOSERVER_DATA_DIR}" && \
	chown -R geoserver:geoserver "${GEOSERVER_HOME}" && \
	chown -R geoserver:geoserver "${GEOSERVER_LOG_DIR}"

USER geoserver

COPY ./scripts /
	apt-get clean

EXPOSE ${GEOSERVER_PORT}

RUN mv /libs/*.jar ${JAVA_HOME}/lib/security/

ENTRYPOINT ["/docker-entrypoint.sh"]

CMD ["/opt/geoserver/bin/startup.sh"]
CMD ["catalina.sh", "run"]
 No newline at end of file
+41 −0
Original line number Diff line number Diff line
## This log4j configuration file needs to stay here, and is used as the default logging setup
## during data_dir upgrades and in case the chosen logging config isn't available.
##
## As GeoTools uses java.util.logging logging instead of log4j, GeoServer makes
## the following mappings to adjust the log4j levels specified in this file to
## the GeoTools logging system:
##
## Log4J Level          java.util.logging Level
## --------------------------------------------
## ALL                   FINEST
## TRACE                 FINER
## DEBUG                 FINE (includes CONFIG)
## INFO                  INFO
## WARN/ERROR            WARNING
## FATAL                 SEVERE
## OFF                   OFF

log4j.rootLogger=WARN, geoserverlogfile, stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{dd MMM HH:mm:ss} %p [%c{2}] - %m%n


log4j.appender.geoserverlogfile=org.apache.log4j.RollingFileAppender
# Keep three backup files.
log4j.appender.geoserverlogfile.MaxBackupIndex=3
# Pattern to output: date priority [category] - message
log4j.appender.geoserverlogfile.layout=org.apache.log4j.PatternLayout
log4j.appender.geoserverlogfile.layout.ConversionPattern=%d %p [%c{2}] - %m%n

log4j.category.log4j=FATAL

log4j.category.org.geotools=WARN
log4j.category.org.geotools.factory=WARN
log4j.category.org.geoserver=WARN
log4j.category.org.vfny.geoserver=WARN

log4j.category.org.springframework=WARN

log4j.category.org.geowebcache=ERROR
 No newline at end of file

scripts/context.xml

0 → 100644
+3 −0
Original line number Diff line number Diff line
<Context>
  <Resources allowLinking="true" />
</Context>
 No newline at end of file
+5 −3
Original line number Diff line number Diff line
@@ -2,9 +2,11 @@

if [ -z "$(ls -A ${GEOSERVER_DATA_DIR})" ]
then
	echo "Move data_dir"

	mv -v "${GEOSERVER_HOME}/data_dir/"* "${GEOSERVER_DATA_DIR}/"
	echo "Move data from ${GEOSERVER_HOME}/data/ to ${GEOSERVER_DATA_DIR}/"
	mkdir -p "${GEOSERVER_DATA_DIR}/logs"
	mv /*LOGGING.properties "${GEOSERVER_DATA_DIR}/logs/DEFAULT_LOGGING.properties"
	ls -la "${GEOSERVER_DATA_DIR}/logs"
	mv "${GEOSERVER_HOME}/data/"* "${GEOSERVER_DATA_DIR}/"
fi

export JAVA_OPTS="${JAVA_OPTS} ${GEOSERVER_OPTS} -DGEOSERVER_LOG_LOCATION=${GEOSERVER_LOG_LOCATION}"
Loading