GeoServer Integration¶
GeoServer is the main publication and geometry-delivery surface for many CoRE Stack outputs.
You need it when:
- compute outputs must be published as WMS, WFS, or download-ready layers
- public geometry routes such as
get_mws_geometriesandget_village_geometriesmust work - you want the installer validation to test the full publish path instead of stopping with a warning
What The Current Installer Expects¶
GeoServer is configured through nrm_app/.env:
The current install.sh can write these values directly if you provide them as optional inputs:
bash installation/install.sh \
--input geoserver_url=https://host/geoserver \
--input geoserver_username=admin \
--input geoserver_password=your-password
During initialisation_check, the backend now:
- reads those env values from
nrm_app/.env - probes
${GEOSERVER_URL}/rest/about/version.json - warns if the URL is blank or the credentials are incomplete
- only treats the first authenticated computing API as fully publish-ready when GeoServer, GEE, GCS, and admin-boundary data are all ready
If GeoServer is blank, local install validation can still prove the non-publish parts of the backend, but publish and public-geometry flows remain unverified.
Manual Verification¶
Once the env values are set, test the REST endpoint directly:
If that request does not return 200, the current backend initialization check will also report geoserver-probe as a warning or failure.
Use a full base URL that ends at the GeoServer root, for example:
https://maps.example.com/geoserver- not just
https://maps.example.com
Where GeoServer Is Used In The Backend¶
The most important server-side helpers live in:
That module handles:
- workspace creation
- shapefile publication
- raster and vector sync helpers
- some upload-to-publication transitions used after compute steps finish
GeoServer also appears directly in the public data surface:
- layer URL assembly in public_api/views.py
- MWS geometry delivery in public_api/views.py
- village geometry delivery in public_api/views.py
The main API-facing routes that often matter operationally are documented in Computing API Endpoints, especially the workspace and publication-oriented endpoints.
Common Failure Modes¶
GEOSERVER_URL is blank¶
The initialization test reports geoserver-probe as a warning and skips full publish-path validation.
Credentials are missing or wrong¶
The probe may reach GeoServer but fail with a non-200 status for rest/about/version.json.
Compute finishes, but no published layer appears¶
Check:
- the Celery worker logs
- GeoServer REST reachability
- the workspace or layer name expected by that pipeline
- whether the pipeline actually reached its publication step
If the installer-time first-computing-api check did not pass, fix that first before debugging a larger pipeline.