GeoServer Deployment Documentation - openskope/skope-api GitHub Wiki
We currently run the kartoza Docker image for our GeoServer dependency.
Important Resources
Guidance on running GeoServer in production:
https://docs.geoserver.org/stable/en/user/production/index.html
https://github.com/openskope/skope-api/issues/22
Notes / Errata
PROXY_BASE_URL should be derived from HTTPS_PROXY_NAME
and HTTPS_PROXY_PORT
but doesn't work unless we also set SSL=true
and have set up SSL certificates, keys, and termination for Tomcat at the moment. That's not too difficult to do via letsencrypt but we're going the option of continuing to let haproxy handle SSL termination and keep the traffic unencrypted within the local network. SKOPE has little to no sensitive information anyways (no user auth, etc).
So the workaround is to manually set PROXY_BASE_URL in geoserver/settings/web.xml
which will be mounted into the kartoza Docker container's /settings
directory.
Important environment variables (declared in the generated geoserver docker-compose.yml
service definition from base.yml and prod.yml):
CSRF_WHITELIST: set to whatever PROXY_BASE_URL is e.g., geoserver.openskope.org
GEOSERVER_DATA_DIR: path to geoserver data
EXISTING_DATA_DIR: set to false to reset the admin username / password
GEOSERVER_ADMIN_PASSWORD_FILE: set to /run/secrets/whatever-the-geoserver-admin-pw-file-is-named
GEOSERVER_ADMIN_USER: choose-admin-username
COMMUNITY_EXTENSIONS: list community extensions to install from https://github.com/kartoza/docker-geoserver/blob/master/build_data/community_plugins.txt