Loading .dockerignore +1 −5 Original line number Diff line number Diff line * !/resources/*.zip !/resources/*.jar !/resources/*.deb !/resources/*.tar.gz !/scripts !scripts .gitignore +0 −5 Original line number Diff line number Diff line resources/* !resources/*.zip !resources/*.jar !resources/*.deb !resources/*.tar.gz .gitlab-ci.yml +4 −62 Original line number Diff line number Diff line Loading @@ -53,66 +53,13 @@ container-scanning: artifacts: paths: [gl-sast-container-report.json] deploy-geoserver-master-dev: deploy-geoserver-master-supporting-branch-develop: stage: deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy variables: SSH_REMOTE: ${DEV_SSH_REMOTE} STACK: gis SERVICES_TO_CHECK: gis_geoserver-master STATUS_CHECK_DELAY: 400 IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.geoserver-master.tmpl.yml:docker-compose.geoserver-master.dev.yml GEOSERVER_SUBDOMAIN: ${DEV_GEOSERVER_ADMIN_SUBDOMAIN} GEOSERVER_PASS: ${DEV_GEOSERVER_PASS} PUBLIC_HOSTNAME: ${DEV_PUBLIC_HOSTNAME} script: - create-nets.sh gis-net - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} GEOSERVER_SUBDOMAIN=${GEOSERVER_SUBDOMAIN} PUBLIC_HOSTNAME=${PUBLIC_HOSTNAME} GEOSERVER_PASS=${GEOSERVER_PASS} environment: name: geoserver-master-dev url: https://${DEV_GEOSERVER_ADMIN_SUBDOMAIN}.${DEV_PUBLIC_HOSTNAME} only: - dev when: manual deploy-geoserver-slave-dev: stage: deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy variables: SSH_REMOTE: ${DEV_SSH_REMOTE} STACK: gis SERVICES_TO_CHECK: gis_geoserver-slave STATUS_CHECK_DELAY: 400 IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.geoserver-slave.tmpl.yml:docker-compose.geoserver-slave.dev.yml GEOSERVER_SUBDOMAIN: ${DEV_GEOSERVER_SUBDOMAIN} PUBLIC_HOSTNAME: ${DEV_PUBLIC_HOSTNAME} script: - create-nets.sh gis-net - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} GEOSERVER_SUBDOMAIN=${GEOSERVER_SUBDOMAIN} PUBLIC_HOSTNAME=${PUBLIC_HOSTNAME} environment: name: geoserver-slave-dev url: https://${DEV_GEOSERVER_SUBDOMAIN}.${DEV_PUBLIC_HOSTNAME} only: - dev when: manual deploy-geoserver-master-supporting-branch: stage: deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy variables: SSH_REMOTE: ${DEV_SSH_REMOTE} STACK: gis SERVICES_TO_CHECK: gis_geoserver-master STATUS_CHECK_DELAY: 400 IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.geoserver-master.tmpl.yml:docker-compose.geoserver-master.dev.yml Loading @@ -132,17 +79,15 @@ deploy-geoserver-master-supporting-branch: - branches except: - master - dev when: manual deploy-geoserver-slave-supporting-branch: deploy-geoserver-slave-supporting-branch-develop: stage: deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy variables: SSH_REMOTE: ${DEV_SSH_REMOTE} STACK: gis SERVICES_TO_CHECK: gis_geoserver-slave STATUS_CHECK_DELAY: 400 IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.geoserver-slave.tmpl.yml:docker-compose.geoserver-slave.dev.yml Loading @@ -160,17 +105,15 @@ deploy-geoserver-slave-supporting-branch: - branches except: - master - dev when: manual deploy-geoserver-master-pro: deploy-geoserver-master-stable-branch-production: stage: deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy variables: SSH_REMOTE: ${PRO_SSH_REMOTE} STACK: gis SERVICES_TO_CHECK: gis_geoserver-master STATUS_CHECK_DELAY: 400 IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.geoserver-master.tmpl.yml:docker-compose.geoserver-master.prod.yml Loading @@ -190,14 +133,13 @@ deploy-geoserver-master-pro: - master when: manual deploy-geoserver-slave-pro: deploy-geoserver-slave-stable-branch-production: stage: deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy variables: SSH_REMOTE: ${PRO_SSH_REMOTE} STACK: gis SERVICES_TO_CHECK: gis_geoserver-slave STATUS_CHECK_DELAY: 400 IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.geoserver-slave.tmpl.yml:docker-compose.geoserver-slave.prod.yml Loading Dockerfile +175 −137 Original line number Diff line number Diff line FROM openjdk:8-jdk FROM sgrio/java-oracle:jdk_8 AS build_apr ENV APR_VERSION="1.6.5" \ TOMCAT_NATIVE_VERSION="1.2.18" \ TEMP_PATH="/tmp/resources" RUN apt-get update && \ apt-get install -y --no-install-recommends \ build-essential \ openssl \ libssl-dev \ curl && \ rm -rf /var/lib/apt/lists/* && \ mkdir -p "${TEMP_PATH}" && \ # # Install APR # APR_FILENAME="apr-${APR_VERSION}.tar.gz" && \ URL="http://www.us.apache.org/dist/apr/${APR_FILENAME}" && \ curl -L ${URL} --output ${TEMP_PATH}/${APR_FILENAME} && \ tar xvfz "${TEMP_PATH}/${APR_FILENAME}" -C ${TEMP_PATH} && \ ls -la ${TEMP_PATH} && \ cd "${TEMP_PATH}/apr-${APR_VERSION}" && \ ./configure --prefix=/usr/local/apr && \ make && \ make install && \ # # Install Tomcat native # FILENAME="tomcat-native-${TOMCAT_NATIVE_VERSION}-src.tar.gz" && \ URL="https://archive.apache.org/dist/tomcat/tomcat-connectors/native/${TOMCAT_NATIVE_VERSION}/source/${FILENAME}" && \ curl -L ${URL} --output ${TEMP_PATH}/${FILENAME} && \ tar xvfz ${TEMP_PATH}/${FILENAME} -C ${TEMP_PATH} && \ cd "${TEMP_PATH}/tomcat-native-${TOMCAT_NATIVE_VERSION}-src/native" && \ ./configure --with-apr=/usr/local/apr && \ make && \ make install FROM sgrio/java-oracle:jre_8 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" \ ENV MARLIN_VERSION="0.9.3" \ TOMCAT_MAJOR="8" \ TOMCAT_VERSION="8.5.35" \ JAI_VERSION="1_1_3" \ IMAGE_IO_VERSION="1_1" \ GDAL_VERSION="2.2.3" \ TURBO_JPEG_VERSION="1.5.3" \ GEOSERVER_MAJOR_VERSION="2.14" \ GEOSERVER_MINOR_VERSION="1" \ CATALINA_HOME="/usr/local/tomcat" ENV GEOSERVER_HOME="${CATALINA_HOME}/webapps/geoserver" ENV GEOSERVER_PLUGINS="css inspire libjpeg-turbo csw wps pyramid vectortiles netcdf gdal netcdf-out" \ GEOSERVER_COMMUNITY_PLUGINS="" \ GEOSERVER_VERSION="${GEOSERVER_MAJOR_VERSION}.${GEOSERVER_MINOR_VERSION}" \ GEOSERVER_DATA_DIR="/var/geoserver/data" \ GEOSERVER_HOME="/opt/geoserver" \ GEOSERVER_LOG_DIR="/var/log/geoserver" \ GEOSERVER_LOG_LOCATION="${GEOSERVER_LOG_DIR}/geoserver.log" \ GEOSERVER_OPTS="-Djava.awt.headless=true \ -server \ -XX:PerfDataSamplingInterval=500 \ Loading @@ -21,163 +71,151 @@ ENV DEBIAN_FRONTEND="noninteractive" \ -Djavax.servlet.response.encoding=UTF-8 \ -Dorg.geotools.shapefile.datetime=true \ -XX:+UnlockExperimentalVMOptions \ -XX:MaxRAMFraction=2 \ -XX:+AggressiveOpts \ -XX:+UseCGroupMemoryLimitForHeap \ -Djava.library.path=/usr/share/java:/opt/libjpeg-turbo/lib64:/usr/lib/jni" \ -Xbootclasspath/a:${GEOSERVER_HOME}/WEB-INF/lib/marlin-${MARLIN_VERSION}-Unsafe.jar \ -Dsun.java2d.renderer=org.marlin.pisces.MarlinRenderingEngine \ -Djava.library.path=/usr/share/java:/opt/libjpeg-turbo/lib64:/usr/lib/jni:/usr/local/apr/lib:/usr/lib" \ GEOSERVER_PORT="8080" \ GOOGLE_FONTS="Open%20Sans Roboto Lato Ubuntu" \ NOTO_FONTS="NotoSans-unhinted NotoSerif-unhinted NotoMono-hinted" \ GEOSERVER_PORT="8080" ENV GEOSERVER_VERSION="${GEOSERVER_MAJOR_VERSION}.${GEOSERVER_MINOR_VERSION}" \ GEOSERVER_LOG_LOCATION="${GEOSERVER_LOG_DIR}/geoserver.log" \ GDAL_DATA="/usr/share/gdal/2.1" GDAL_DATA="/usr/share/gdal/2.2" \ TEMP_PATH="/tmp/resources" \ JRE_HOME="" \ PATH="${CATALINA_HOME}/bin:${PATH}" ARG TEMP_PATH=/tmp/resources COPY ./scripts / # Install extra fonts to use with sld font markers RUN mkdir -p "${TEMP_PATH}" "${GEOSERVER_DATA_DIR}" "${GEOSERVER_LOG_DIR}" && \ RUN mkdir -p "${TEMP_PATH}" "${GEOSERVER_DATA_DIR}" "${GEOSERVER_LOG_DIR}" "${CATALINA_HOME}" && \ cd ${CATALINA_HOME} && \ 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 \ apt-get install -y --no-install-recommends \ fonts-cantarell \ openssl \ unzip \ libtcnative-1 \ libgdal20 \ libgdal-java \ libnetcdf11 \ libgdal20 \ libgdal-dev \ libnetcdf13 \ libnetcdf-c++4 \ netcdf-bin \ dnsutils # Copy resources dnsutils && \ # # 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 && \ # # Install Tomcat # URL="https://www.apache.org/dist/tomcat/tomcat-$TOMCAT_MAJOR/v$TOMCAT_VERSION/bin/apache-tomcat-$TOMCAT_VERSION.tar.gz" && \ curl -fSL "${URL}" -o tomcat.tar.gz && \ tar -xvf tomcat.tar.gz --strip-components=1 && \ rm bin/*.bat && \ rm tomcat.tar.gz* && \ 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 \ 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 " # FILENAME=$(echo "marlin-${MARLIN_VERSION}-Unsafe.jar") && \ MARLIN_VERSION_DASH=$(echo "v${MARLIN_VERSION}" | tr "." "_") && \ URL="https://github.com/bourgesl/marlin-renderer/releases/download/${MARLIN_VERSION_DASH}/${FILENAME}" && \ curl -L ${URL} --output ${TEMP_PATH}/${FILENAME} && \ cp ${TEMP_PATH}/${FILENAME} ${GEOSERVER_HOME}/WEB-INF/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} # 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} curl -L ${URL} --output ${TEMP_PATH}/${TURBO_JPEG_FILENAME} && \ dpkg -i ${TEMP_PATH}/${TURBO_JPEG_FILENAME} && \ # # Install JAI # 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/ && \ # # Install Image IO # 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" && \ # # Install strong cryptography # mv /libs/*.jar ${JAVA_HOME}/lib/security/ && \ # # Clean RUN 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}" # rm -rf ${TEMP_PATH} && \ rm -rf /var/lib/apt/lists/* USER geoserver EXPOSE ${GEOSERVER_PORT} COPY ./scripts / COPY --from=build_apr /usr/local/apr/lib /usr/local/apr/lib EXPOSE ${GEOSERVER_PORT} WORKDIR ${CATALINA_HOME} ENTRYPOINT ["/docker-entrypoint.sh"] CMD ["/opt/geoserver/bin/startup.sh"] CMD ["catalina.sh", "run"] deploy/docker-compose.dev.ymldeleted 100644 → 0 +0 −29 Original line number Diff line number Diff line version: '3.5' services: geoserver: ports: - target: ${GEOSERVER_PORT} published: 8095 mode: host deploy: mode: replicated replicas: 2 labels: traefik.port: "${GEOSERVER_PORT}" traefik.docker.network: traefik-net traefik.frontend.rule: "Host:${GEOSERVER_SUBDOMAIN}.${PUBLIC_HOSTNAME};PathPrefix:/geoserver" traefik.backend: geoserver restart_policy: delay: 1m window: 3m resources: limits: cpus: '0.75' memory: 1G reservations: memory: 820M volumes: geoserver-vol: name: geoserver-vol Loading
.dockerignore +1 −5 Original line number Diff line number Diff line * !/resources/*.zip !/resources/*.jar !/resources/*.deb !/resources/*.tar.gz !/scripts !scripts
.gitignore +0 −5 Original line number Diff line number Diff line resources/* !resources/*.zip !resources/*.jar !resources/*.deb !resources/*.tar.gz
.gitlab-ci.yml +4 −62 Original line number Diff line number Diff line Loading @@ -53,66 +53,13 @@ container-scanning: artifacts: paths: [gl-sast-container-report.json] deploy-geoserver-master-dev: deploy-geoserver-master-supporting-branch-develop: stage: deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy variables: SSH_REMOTE: ${DEV_SSH_REMOTE} STACK: gis SERVICES_TO_CHECK: gis_geoserver-master STATUS_CHECK_DELAY: 400 IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.geoserver-master.tmpl.yml:docker-compose.geoserver-master.dev.yml GEOSERVER_SUBDOMAIN: ${DEV_GEOSERVER_ADMIN_SUBDOMAIN} GEOSERVER_PASS: ${DEV_GEOSERVER_PASS} PUBLIC_HOSTNAME: ${DEV_PUBLIC_HOSTNAME} script: - create-nets.sh gis-net - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} GEOSERVER_SUBDOMAIN=${GEOSERVER_SUBDOMAIN} PUBLIC_HOSTNAME=${PUBLIC_HOSTNAME} GEOSERVER_PASS=${GEOSERVER_PASS} environment: name: geoserver-master-dev url: https://${DEV_GEOSERVER_ADMIN_SUBDOMAIN}.${DEV_PUBLIC_HOSTNAME} only: - dev when: manual deploy-geoserver-slave-dev: stage: deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy variables: SSH_REMOTE: ${DEV_SSH_REMOTE} STACK: gis SERVICES_TO_CHECK: gis_geoserver-slave STATUS_CHECK_DELAY: 400 IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.geoserver-slave.tmpl.yml:docker-compose.geoserver-slave.dev.yml GEOSERVER_SUBDOMAIN: ${DEV_GEOSERVER_SUBDOMAIN} PUBLIC_HOSTNAME: ${DEV_PUBLIC_HOSTNAME} script: - create-nets.sh gis-net - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} GEOSERVER_SUBDOMAIN=${GEOSERVER_SUBDOMAIN} PUBLIC_HOSTNAME=${PUBLIC_HOSTNAME} environment: name: geoserver-slave-dev url: https://${DEV_GEOSERVER_SUBDOMAIN}.${DEV_PUBLIC_HOSTNAME} only: - dev when: manual deploy-geoserver-master-supporting-branch: stage: deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy variables: SSH_REMOTE: ${DEV_SSH_REMOTE} STACK: gis SERVICES_TO_CHECK: gis_geoserver-master STATUS_CHECK_DELAY: 400 IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.geoserver-master.tmpl.yml:docker-compose.geoserver-master.dev.yml Loading @@ -132,17 +79,15 @@ deploy-geoserver-master-supporting-branch: - branches except: - master - dev when: manual deploy-geoserver-slave-supporting-branch: deploy-geoserver-slave-supporting-branch-develop: stage: deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy variables: SSH_REMOTE: ${DEV_SSH_REMOTE} STACK: gis SERVICES_TO_CHECK: gis_geoserver-slave STATUS_CHECK_DELAY: 400 IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.geoserver-slave.tmpl.yml:docker-compose.geoserver-slave.dev.yml Loading @@ -160,17 +105,15 @@ deploy-geoserver-slave-supporting-branch: - branches except: - master - dev when: manual deploy-geoserver-master-pro: deploy-geoserver-master-stable-branch-production: stage: deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy variables: SSH_REMOTE: ${PRO_SSH_REMOTE} STACK: gis SERVICES_TO_CHECK: gis_geoserver-master STATUS_CHECK_DELAY: 400 IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.geoserver-master.tmpl.yml:docker-compose.geoserver-master.prod.yml Loading @@ -190,14 +133,13 @@ deploy-geoserver-master-pro: - master when: manual deploy-geoserver-slave-pro: deploy-geoserver-slave-stable-branch-production: stage: deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy variables: SSH_REMOTE: ${PRO_SSH_REMOTE} STACK: gis SERVICES_TO_CHECK: gis_geoserver-slave STATUS_CHECK_DELAY: 400 IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.geoserver-slave.tmpl.yml:docker-compose.geoserver-slave.prod.yml Loading
Dockerfile +175 −137 Original line number Diff line number Diff line FROM openjdk:8-jdk FROM sgrio/java-oracle:jdk_8 AS build_apr ENV APR_VERSION="1.6.5" \ TOMCAT_NATIVE_VERSION="1.2.18" \ TEMP_PATH="/tmp/resources" RUN apt-get update && \ apt-get install -y --no-install-recommends \ build-essential \ openssl \ libssl-dev \ curl && \ rm -rf /var/lib/apt/lists/* && \ mkdir -p "${TEMP_PATH}" && \ # # Install APR # APR_FILENAME="apr-${APR_VERSION}.tar.gz" && \ URL="http://www.us.apache.org/dist/apr/${APR_FILENAME}" && \ curl -L ${URL} --output ${TEMP_PATH}/${APR_FILENAME} && \ tar xvfz "${TEMP_PATH}/${APR_FILENAME}" -C ${TEMP_PATH} && \ ls -la ${TEMP_PATH} && \ cd "${TEMP_PATH}/apr-${APR_VERSION}" && \ ./configure --prefix=/usr/local/apr && \ make && \ make install && \ # # Install Tomcat native # FILENAME="tomcat-native-${TOMCAT_NATIVE_VERSION}-src.tar.gz" && \ URL="https://archive.apache.org/dist/tomcat/tomcat-connectors/native/${TOMCAT_NATIVE_VERSION}/source/${FILENAME}" && \ curl -L ${URL} --output ${TEMP_PATH}/${FILENAME} && \ tar xvfz ${TEMP_PATH}/${FILENAME} -C ${TEMP_PATH} && \ cd "${TEMP_PATH}/tomcat-native-${TOMCAT_NATIVE_VERSION}-src/native" && \ ./configure --with-apr=/usr/local/apr && \ make && \ make install FROM sgrio/java-oracle:jre_8 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" \ ENV MARLIN_VERSION="0.9.3" \ TOMCAT_MAJOR="8" \ TOMCAT_VERSION="8.5.35" \ JAI_VERSION="1_1_3" \ IMAGE_IO_VERSION="1_1" \ GDAL_VERSION="2.2.3" \ TURBO_JPEG_VERSION="1.5.3" \ GEOSERVER_MAJOR_VERSION="2.14" \ GEOSERVER_MINOR_VERSION="1" \ CATALINA_HOME="/usr/local/tomcat" ENV GEOSERVER_HOME="${CATALINA_HOME}/webapps/geoserver" ENV GEOSERVER_PLUGINS="css inspire libjpeg-turbo csw wps pyramid vectortiles netcdf gdal netcdf-out" \ GEOSERVER_COMMUNITY_PLUGINS="" \ GEOSERVER_VERSION="${GEOSERVER_MAJOR_VERSION}.${GEOSERVER_MINOR_VERSION}" \ GEOSERVER_DATA_DIR="/var/geoserver/data" \ GEOSERVER_HOME="/opt/geoserver" \ GEOSERVER_LOG_DIR="/var/log/geoserver" \ GEOSERVER_LOG_LOCATION="${GEOSERVER_LOG_DIR}/geoserver.log" \ GEOSERVER_OPTS="-Djava.awt.headless=true \ -server \ -XX:PerfDataSamplingInterval=500 \ Loading @@ -21,163 +71,151 @@ ENV DEBIAN_FRONTEND="noninteractive" \ -Djavax.servlet.response.encoding=UTF-8 \ -Dorg.geotools.shapefile.datetime=true \ -XX:+UnlockExperimentalVMOptions \ -XX:MaxRAMFraction=2 \ -XX:+AggressiveOpts \ -XX:+UseCGroupMemoryLimitForHeap \ -Djava.library.path=/usr/share/java:/opt/libjpeg-turbo/lib64:/usr/lib/jni" \ -Xbootclasspath/a:${GEOSERVER_HOME}/WEB-INF/lib/marlin-${MARLIN_VERSION}-Unsafe.jar \ -Dsun.java2d.renderer=org.marlin.pisces.MarlinRenderingEngine \ -Djava.library.path=/usr/share/java:/opt/libjpeg-turbo/lib64:/usr/lib/jni:/usr/local/apr/lib:/usr/lib" \ GEOSERVER_PORT="8080" \ GOOGLE_FONTS="Open%20Sans Roboto Lato Ubuntu" \ NOTO_FONTS="NotoSans-unhinted NotoSerif-unhinted NotoMono-hinted" \ GEOSERVER_PORT="8080" ENV GEOSERVER_VERSION="${GEOSERVER_MAJOR_VERSION}.${GEOSERVER_MINOR_VERSION}" \ GEOSERVER_LOG_LOCATION="${GEOSERVER_LOG_DIR}/geoserver.log" \ GDAL_DATA="/usr/share/gdal/2.1" GDAL_DATA="/usr/share/gdal/2.2" \ TEMP_PATH="/tmp/resources" \ JRE_HOME="" \ PATH="${CATALINA_HOME}/bin:${PATH}" ARG TEMP_PATH=/tmp/resources COPY ./scripts / # Install extra fonts to use with sld font markers RUN mkdir -p "${TEMP_PATH}" "${GEOSERVER_DATA_DIR}" "${GEOSERVER_LOG_DIR}" && \ RUN mkdir -p "${TEMP_PATH}" "${GEOSERVER_DATA_DIR}" "${GEOSERVER_LOG_DIR}" "${CATALINA_HOME}" && \ cd ${CATALINA_HOME} && \ 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 \ apt-get install -y --no-install-recommends \ fonts-cantarell \ openssl \ unzip \ libtcnative-1 \ libgdal20 \ libgdal-java \ libnetcdf11 \ libgdal20 \ libgdal-dev \ libnetcdf13 \ libnetcdf-c++4 \ netcdf-bin \ dnsutils # Copy resources dnsutils && \ # # 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 && \ # # Install Tomcat # URL="https://www.apache.org/dist/tomcat/tomcat-$TOMCAT_MAJOR/v$TOMCAT_VERSION/bin/apache-tomcat-$TOMCAT_VERSION.tar.gz" && \ curl -fSL "${URL}" -o tomcat.tar.gz && \ tar -xvf tomcat.tar.gz --strip-components=1 && \ rm bin/*.bat && \ rm tomcat.tar.gz* && \ 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 \ 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 " # FILENAME=$(echo "marlin-${MARLIN_VERSION}-Unsafe.jar") && \ MARLIN_VERSION_DASH=$(echo "v${MARLIN_VERSION}" | tr "." "_") && \ URL="https://github.com/bourgesl/marlin-renderer/releases/download/${MARLIN_VERSION_DASH}/${FILENAME}" && \ curl -L ${URL} --output ${TEMP_PATH}/${FILENAME} && \ cp ${TEMP_PATH}/${FILENAME} ${GEOSERVER_HOME}/WEB-INF/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} # 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} curl -L ${URL} --output ${TEMP_PATH}/${TURBO_JPEG_FILENAME} && \ dpkg -i ${TEMP_PATH}/${TURBO_JPEG_FILENAME} && \ # # Install JAI # 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/ && \ # # Install Image IO # 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" && \ # # Install strong cryptography # mv /libs/*.jar ${JAVA_HOME}/lib/security/ && \ # # Clean RUN 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}" # rm -rf ${TEMP_PATH} && \ rm -rf /var/lib/apt/lists/* USER geoserver EXPOSE ${GEOSERVER_PORT} COPY ./scripts / COPY --from=build_apr /usr/local/apr/lib /usr/local/apr/lib EXPOSE ${GEOSERVER_PORT} WORKDIR ${CATALINA_HOME} ENTRYPOINT ["/docker-entrypoint.sh"] CMD ["/opt/geoserver/bin/startup.sh"] CMD ["catalina.sh", "run"]
deploy/docker-compose.dev.ymldeleted 100644 → 0 +0 −29 Original line number Diff line number Diff line version: '3.5' services: geoserver: ports: - target: ${GEOSERVER_PORT} published: 8095 mode: host deploy: mode: replicated replicas: 2 labels: traefik.port: "${GEOSERVER_PORT}" traefik.docker.network: traefik-net traefik.frontend.rule: "Host:${GEOSERVER_SUBDOMAIN}.${PUBLIC_HOSTNAME};PathPrefix:/geoserver" traefik.backend: geoserver restart_policy: delay: 1m window: 3m resources: limits: cpus: '0.75' memory: 1G reservations: memory: 820M volumes: geoserver-vol: name: geoserver-vol