Skip to content

smartemission/docker-se-geoserver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GeoServer service

The geoserver service provides a complete GeoServer instance with a complete configuration (GS data dir) specific for SE.

Hosting

The Docker Image is hosted as: smartemission/se-geoserver at DockerHub. Versioning via GH tags is done following GeoServer versions like 2.9.4 followed by an SE version number, for example 2.9.4-1, 2.9.4-2 etc.

Environment

The following environment vars need to be set, either via docker-compose or Kubernetes.

Environment variable
DB_HOSTNAME
DB_USERNAME
DB_PASSWD
GS_USERNAME
GS_PASSWD

Architecture

The image includes the official Kartoza GeoServer Docker Image hosted as kartoza/geoserver on DockerHub overlayed with a complete configuration (GeoServer data dir). Further vars from that config are overruled/set via its Container Environment at runtime via the entry.sh script.

WMS Capabilities

As many Layers have a Dimension as Time enabled, the Dimension range (start-end time) is generated for each Layer and put in the Capabilities document. This results in queries on the Postgres database that take huge amount of time (about 1 minute per million records), even with the time column indexed. Basically a rowscan is done for all 20-30 Layers...In some cases GeoServer crashes. To overcome this a semi-static Capabilities document is generated from a template file wms-capabilities.xml. This is handled via a custom Servlet Filter: the WmsCapabilitiesFilter.java that is added to the Tomcat web.xml config file.

Dependencies

  • PostGIS backend

Links