Added context element to config/server.xml and set autoDeploy and deployOnStartup to false
url in HEALTHCHECK written to file so that it can be set on startup updated README with usage infopull/47/head
parent
fde66168af
commit
31aa91735c
16
Dockerfile
16
Dockerfile
|
|
@ -17,7 +17,6 @@ ENV CORS_ALLOWED_METHODS=$CORS_ALLOWED_METHODS
|
|||
ENV CORS_ALLOWED_HEADERS=$CORS_ALLOWED_HEADERS
|
||||
ENV CORS_ALLOW_CREDENTIALS=$CORS_ALLOW_CREDENTIALS
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
ENV WEBAPP_CONTEXT=geoserver
|
||||
|
||||
# see https://docs.geoserver.org/stable/en/user/production/container.html
|
||||
ENV CATALINA_OPTS="\$EXTRA_JAVA_OPTS \
|
||||
|
|
@ -86,7 +85,7 @@ ENV GEOSERVER_VERSION=$GS_VERSION
|
|||
ENV GEOSERVER_BUILD=$GS_BUILD
|
||||
ENV GEOSERVER_DATA_DIR=/opt/geoserver_data/
|
||||
ENV GEOSERVER_REQUIRE_FILE=$GEOSERVER_DATA_DIR/global.xml
|
||||
ENV GEOSERVER_LIB_DIR=$CATALINA_HOME/webapps/$WEBAPP_CONTEXT/WEB-INF/lib/
|
||||
ENV GEOSERVER_LIB_DIR=$CATALINA_HOME/webapps/geoserver/WEB-INF/lib/
|
||||
ENV INSTALL_EXTENSIONS=false
|
||||
ENV WAR_ZIP_URL=$WAR_ZIP_URL
|
||||
ENV STABLE_EXTENSIONS=''
|
||||
|
|
@ -100,7 +99,12 @@ ENV ROOT_WEBAPP_REDIRECT=false
|
|||
ENV POSTGRES_JNDI_ENABLED=false
|
||||
ENV CONFIG_DIR=/opt/config
|
||||
ENV CONFIG_OVERRIDES_DIR=/opt/config_overrides
|
||||
ENV HEALTHCHECK_URL=http://localhost:8080/geoserver/web/wicket/resource/org.geoserver.web.GeoServerBasePage/img/logo.png
|
||||
ENV WEBAPP_CONTEXT=geoserver
|
||||
ENV HEALTHCHECK_URL=''
|
||||
ENV HTTPS_ENABLED=false
|
||||
ENV HTTPS_KEYSTORE_FILE=/opt/keystore.jks
|
||||
ENV HTTPS_KEYSTORE_PASSWORD=changeit
|
||||
ENV HTTPS_KEY_ALIAS=server
|
||||
|
||||
ENV HTTPS_ENABLED=false
|
||||
ENV HTTPS_KEYSTORE_FILE=/opt/keystore.jks
|
||||
|
|
@ -116,12 +120,12 @@ RUN echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen && locale-gen
|
|||
|
||||
RUN echo "Installing GeoServer $GS_VERSION $GS_BUILD"
|
||||
|
||||
COPY --from=download /tmp/geoserver $CATALINA_HOME/webapps/$WEBAPP_CONTEXT
|
||||
COPY --from=download /tmp/geoserver $CATALINA_HOME/webapps/geoserver
|
||||
|
||||
RUN mv $CATALINA_HOME/webapps/$WEBAPP_CONTEXT/WEB-INF/lib/marlin-*.jar $CATALINA_HOME/lib/marlin.jar \
|
||||
RUN mv $CATALINA_HOME/webapps/geoserver/WEB-INF/lib/marlin-*.jar $CATALINA_HOME/lib/marlin.jar \
|
||||
&& mkdir -p $GEOSERVER_DATA_DIR
|
||||
|
||||
RUN mv $CATALINA_HOME/webapps/$WEBAPP_CONTEXT/WEB-INF/lib/postgresql-*.jar $CATALINA_HOME/lib/
|
||||
RUN mv $CATALINA_HOME/webapps/geoserver/WEB-INF/lib/postgresql-*.jar $CATALINA_HOME/lib/
|
||||
|
||||
COPY $GS_DATA_PATH $GEOSERVER_DATA_DIR
|
||||
COPY $ADDITIONAL_LIBS_PATH $GEOSERVER_LIB_DIR
|
||||
|
|
|
|||
14
startup.sh
14
startup.sh
|
|
@ -43,15 +43,15 @@ fi
|
|||
|
||||
# Set the HEALTHCHECK URL depending on the webapp context
|
||||
# remove duplicate forward slashes
|
||||
DEFAULT_HEALTHCHECK_URL=$(echo "localhost:8080/${WEBAPP_CONTEXT}/ows?service=wms&version=1.3.0&request=GetCapabilities" | tr -s /)
|
||||
DEFAULT_HEALTHCHECK_URL=$(echo "localhost:8080/${WEBAPP_CONTEXT}/web/wicket/resource/org.geoserver.web.GeoServerBasePage/img/logo.png" | tr -s /)
|
||||
DEFAULT_HEALTHCHECK_URL="http://${DEFAULT_HEALTHCHECK_URL}"
|
||||
# write the healthcheck URL to a file that user geoserver has access to but is not served by tomcat
|
||||
# write the healthcheck URL to a file that geoserver user has access to but is not served by tomcat
|
||||
echo "${HEALTHCHECK_URL:-$DEFAULT_HEALTHCHECK_URL}" > $CATALINA_HOME/conf/healthcheck_url.txt
|
||||
|
||||
## install release data directory if needed before starting tomcat
|
||||
if [ ! -z "$GEOSERVER_REQUIRE_FILE" ] && [ ! -f "$GEOSERVER_REQUIRE_FILE" ]; then
|
||||
echo "Initialize $GEOSERVER_DATA_DIR from data directory included in geoserver.war"
|
||||
cp -r $CATALINA_HOME/webapps/$WEBAPP_CONTEXT/data/* $GEOSERVER_DATA_DIR
|
||||
cp -r $CATALINA_HOME/webapps/geoserver/data/* $GEOSERVER_DATA_DIR
|
||||
fi
|
||||
|
||||
## install GeoServer extensions before starting the tomcat
|
||||
|
|
@ -61,7 +61,7 @@ fi
|
|||
# we also count whether at least one file with the extensions exists
|
||||
count=`ls -1 $ADDITIONAL_LIBS_DIR/*.jar 2>/dev/null | wc -l`
|
||||
if [ -d "$ADDITIONAL_LIBS_DIR" ] && [ $count != 0 ]; then
|
||||
cp $ADDITIONAL_LIBS_DIR/*.jar $CATALINA_HOME/webapps/$WEBAPP_CONTEXT/WEB-INF/lib/
|
||||
cp $ADDITIONAL_LIBS_DIR/*.jar $CATALINA_HOME/webapps/geoserver/WEB-INF/lib/
|
||||
echo "Installed $count JAR extension file(s) from the additional libs folder"
|
||||
fi
|
||||
|
||||
|
|
@ -78,8 +78,8 @@ fi
|
|||
# to the end of the web.xml
|
||||
# (this will only happen if our filter has not yet been added before)
|
||||
if [ "${CORS_ENABLED}" = "true" ]; then
|
||||
if ! grep -q DockerGeoServerCorsFilter "$CATALINA_HOME/webapps/$WEBAPP_CONTEXT/WEB-INF/web.xml"; then
|
||||
echo "Enable CORS for $CATALINA_HOME/webapps/$WEBAPP_CONTEXT/WEB-INF/web.xml"
|
||||
if ! grep -q DockerGeoServerCorsFilter "$CATALINA_HOME/webapps/geoserver/WEB-INF/web.xml"; then
|
||||
echo "Enable CORS for $CATALINA_HOME/webapps/geoserver/WEB-INF/web.xml"
|
||||
|
||||
# Add support for access-control-allow-credentials when the origin is not a wildcard when specified via env var
|
||||
if [ "${CORS_ALLOWED_ORIGINS}" != "*" ] && [ "${CORS_ALLOW_CREDENTIALS}" = "true" ]; then
|
||||
|
|
@ -112,7 +112,7 @@ if [ "${CORS_ENABLED}" = "true" ]; then
|
|||
<filter-mapping>\n\
|
||||
<filter-name>DockerGeoServerCorsFilter</filter-name>\n\
|
||||
<url-pattern>/*</url-pattern>\n\
|
||||
</filter-mapping>" "$CATALINA_HOME/webapps/$WEBAPP_CONTEXT/WEB-INF/web.xml";
|
||||
</filter-mapping>" "$CATALINA_HOME/webapps/geoserver/WEB-INF/web.xml";
|
||||
fi
|
||||
fi
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue