Skip to content

Latest commit

 

History

History
82 lines (52 loc) · 3.99 KB

README.md

File metadata and controls

82 lines (52 loc) · 3.99 KB

docker-geoserver

Dockerized GeoServer.

Features

  • Built on top of Docker's official tomcat image.
  • Running tomcat process as non-root user.
  • Separate GEOSERVER_DATA_DIR location (on /var/local/geoserver).
  • Configurable extensions.
  • Injectable UID and GID for better mounted volume management.
  • CORS ready.
  • Taken care of JVM Options.
  • Automatic installation of Microsoft Core Fonts for better labelling compatibility.
  • Custom geoserver deployment path
  • docker health check
  • AWS configuration files and scripts in order to deploy easily using Elastic Beanstalk. See github repo. Thanks to @victorzinho

Trusted builds

Latest versions with automated builds available on docker registry:

Other experimental dockerfiles (not automated build):

Running

Get the image:

docker pull oscarfonts/geoserver

Custom GEOSERVER_DATA_DIR

Run as a service, exposing port 8080 and using a hosted GEOSERVER_DATA_DIR:

docker run -d -p 8080:8080 -v ${PWD}/data_dir:/var/local/geoserver oscarfonts/geoserver

Custom base path

  • On build time, set the GEOSERVER_PATH arg to change the geoserver base path. It defaults to /geoserver.
  • On run time, set the GEOSERVER_HEALTH_CHECK_URL to test for a valid (internal) URL that should respond HTTP 200 OK. It defaults to http://localhost:8080/geoserver/ows.

Custom UID and GID

The tomcat user uid and gid can be customized with CUSTOM_UID and CUSTOM_GID environment variables, so that the mounted data_dir and exts_dir are accessible by both geoserver and a given host user. Usage example:

docker run -d -p 8080:8080 -e CUSTOM_UID=$(id -u) -e CUSTOM_GID=$(id -g) oscarfonts/geoserver

Custom extensions

To add extensions to your GeoServer installation, provide a directory with the unzipped extensions separated by directories (one directory per extension):

docker run -d -p 8080:8080 -v ${PWD}/exts_dir:/var/local/geoserver-exts/ oscarfonts/geoserver

You can use the build_exts_dir.sh script together with a extensions configuration file to create your own extensions directory easily.

Warning: The .jar files contained in the extensions directory will be copied to the WEB-INF/lib directory of the GeoServer installation. Make sure to include only .jar files from trusted sources to avoid security risks.

Custom configuration directory

It is also possible to configure the context path by providing a Catalina configuration directory:

docker run -d -p 8080:8080 -v ${PWD}/config_dir:/usr/local/tomcat/conf/Catalina/localhost oscarfonts/geoserver

See some examples.