Sign inSign up

geoservercloud/geoserver-cloud-gateway

By geoservercloud

•Updated 1 day ago

GeoServer Cloud — API Gateway

Image
API management
Web servers
0

100K+

geoservercloud/geoserver-cloud-gateway repository overview

⁠GeoServer Cloud — API Gateway

Single entry point for a GeoServer Cloud⁠ deployment. Routes client requests to the WFS, WMS, WCS, WPS, REST, GWC, and WebUI microservices.

⁠About GeoServer Cloud

GeoServer⁠ is an open-source server for sharing geospatial data. GeoServer Cloud repackages GeoServer as a set of independently deployable and scalable microservices built on Spring Boot and Spring Cloud.

⁠What this image provides

This image runs the Gateway service, built on Spring Cloud Gateway Server MVC⁠ (servlet model with virtual threads). It is the only service that should be exposed publicly in a GeoServer Cloud deployment; all OWS requests (/wms, /wfs, /wcs, /wps), the REST API (/rest), the tile cache (/gwc), and the Web UI (/web) flow through it.

Key features:

  • Service discovery routing via Eureka (lb:// URIs) or static host targets
  • Custom filters: StripBasePath, SharedAuth, SecureHeaders, RouteProfile
  • X-Forwarded-* header propagation for reverse proxy deployments
  • CORS configuration via globalcors
  • Prometheus metrics and Spring Boot Actuator health endpoints

Starting with GeoServer Cloud 3.0.0 this replaces the previous reactive gateway, still available as geoservercloud/geoserver-cloud-gateway-webflux⁠ and scheduled for removal in 3.1.0.

⁠Tags

  • <version> — stable release (e.g. 3.0.0)
  • <version>-RC<n> — release candidate (e.g. 3.0.0-RC1)
  • <version>-SNAPSHOT — development snapshot from main

No latest tag is published — always pin to a specific version. Images are multi-arch (linux/amd64, linux/arm64) and signed with cosign⁠.

⁠Quick start

The gateway requires backend services to route to. Use one of the supported deployment paths:

A minimal standalone run (no config server, no service discovery):

docker run --rm -p 9090:9090 \
  -e SPRING_PROFILES_ACTIVE=standalone \
  geoservercloud/geoserver-cloud-gateway:3.0.0-SNAPSHOT

Visit http://localhost:9090 — without backends behind it the routes will return 503, which is expected.

⁠Configuration

SettingDefaultNotes
HTTP port9090override with SERVER_PORT
Config file/etc/geoserver/gateway.ymlmount a volume to override routes
Profilesdefaultcommon overlays: standalone, acl
HealthGET /actuator/healthliveness & readiness
MetricsGET /actuator/prometheusPrometheus scrape target

See the Gateway Service developer guide⁠ for full configuration details and route definitions.

⁠Support

Tag summary

Content type

Image

Digest

sha256:44ecdd2cd…

Size

197.9 MB

Last updated

1 day ago

docker pull geoservercloud/geoserver-cloud-gateway:3.0.2-SNAPSHOT