MariaServiceHoster
MariaServiceHoster is a Windows application for hosting Maria GDK5 services. It can expose multiple services through a shared HTTP/HTTPS reverse proxy, with a separate gRPC listener when needed.
For detailed configuration, deployment instructions and examples, see the MariaServiceHoster README (repository access required).
Hosting and routing
The reverse proxy routes requests to the appropriate service using path prefixes such as /geostore and /geofencing. Child services can remain on loopback listeners while clients connect through the shared front door.
Configuration
By default, the host loads appSettings.json beside the executable. An alternative configuration file can be supplied as the first command-line argument.
The main configuration files are:
appSettings.json— front-door listeners, shared settings and hosted-service configuration.appSettings.Proxy.json— reverse-proxy routes and backend destinations.appSettings.ServiceSettings.json— service-specific settings.appSettings.ExternalProcesses.json— external process-hosted service packages and trust settings.
Matching *.Local.json files provide deployment-specific overrides. When using a differently named base configuration file, the sidecar filenames must use the same base name.
Important: The shared front door and management UI require usable top-level Kestrel:Endpoints and reverse-proxy routes. A legacy configuration can run services directly without exposing either.
Management and diagnostics
When the front door is enabled, the host exposes:
/host/monitor/— service status, configured listeners, traffic counters and supported operator controls./host/swagger/— entry page for host and proxied-service API documentation./host/api/services— service runtime state as JSON.
With the shipped defaults, open the monitor on the server itself. The default HTTP listener is loopback-only; remote access requires an appropriate listener binding and firewall configuration. Port 5111 is the default HTTP/2-only gRPC listener, not the browser entry point.
If the monitor is unavailable, check the startup log entries for Config, Proxy enabled and Host listeners. Ensure the deployed wwwroot folder contains the monitor files.
Deployment considerations
- Configure trusted HTTPS certificates and restrict access to the exposed listeners for production use.
- Deploy the required configuration sidecars and child-service packages.
- Verify service health, readiness and the required HTTP/gRPC routes.
- Configure bounded automatic restart where supported and required for process-hosted services.
- Restrict access to the management surface; do not assume it provides built-in authentication.
Consult the README for complete settings, certificate handling, package validation and current limitations.