Open RTLS Hub is an OpenAPI-first Go implementation of an OMLOX-ready location hub. It provides OMLOX /v2 REST resources, OMLOX companion MQTT and WebSocket surfaces, and hub-mediated RPC control-plane support for location-driven integrations.
The hub is vendor-neutral and environment-driven. It runs with Postgres, MQTT, and JWT-based access control, and it follows a contract-first workflow with the normative REST contract in specifications/openapi/omlox-hub.v0.yaml.
Key capabilities:
- OMLOX
/v2REST resources and ingestion endpoints - OMLOX WebSocket companion surface
- OMLOX MQTT companion surface
- OMLOX RPC control-plane support through the hub
- JWT auth modes:
oidc,static, andhybrid - RBAC and ownership-aware authorization
- Dockerized local runtime for Postgres, Mosquitto, Dex, and the hub
- Local starter stack with optional SigNoz observability
justworkflows for bootstrap, code generation, validation, and compose operations- Unit tests and Testcontainers-based integration coverage
- Connector demonstrators under
connectors/
This project is an independent implementation. It is not affiliated with or certified by PROFIBUS Nutzerorganisation e.V. or PROFIBUS & PROFINET International unless stated otherwise. omlox is a trademark of PROFIBUS Nutzerorganisation e.V. The official omlox specifications remain subject to PI/PNO license terms.
cp .env.example .envjust bootstrapjust generatejust compose-upjust run
If you want the easiest way to explore the hub locally, start with docs/getting-started.md and local-hub/README.md. That path brings up a local hub, Dex, Mosquitto, Postgres, and an optional SigNoz-backed observability stack for laptop development.
The hub uses native CRS transformation support via PROJ, so local builds need the Go toolchain and PROJ development libraries.
macOS with Homebrew:
brew install just pkgconf proj- the repository
justworkflows use the repo-localtools/bin/pkg-configshim whenpkg-configis not available on the shell path
Debian/Ubuntu:
sudo apt-get updatesudo apt-get install -y golang-go just build-essential pkg-config libproj-dev proj-data
Notes:
just bootstrapinstalls the pinned Go code generators used by this repository- Docker builds install the required PROJ packages inside the image
- Linux and Docker workflows are the validated CRS execution paths in this repository
- direct
go testandgo buildinvocations should setPKG_CONFIG="$PWD/tools/bin/pkg-config"whenpkg-configis not globally available - the repo-local
tools/bin/pkg-configshim emits a one-time warning on macOS when it is used
just lintrunsgo vet,staticcheck,govulncheck,go mod tidy, and generated-file cleanliness checksjust test-raceruns the Go race detector across the repository's testable packagesjust checkruns formatting, lint, tests, and buildjust test-intruns integration tests with Dockerjust compose-logstails compose services
Open Location Hub images are available on Docker Hub as tryformation/openlocationhub.
As of 2026-04-27, the published tags are 0.1.0 and latest, and latest
points to the same image as 0.1.0.
Pull the current release explicitly with:
docker pull tryformation/openlocationhub:0.1.0Or follow the moving release tag with:
docker pull tryformation/openlocationhub:latestIf you want the supporting local services from this repository as well:
- use
just compose-upfor the basic local stack fromdocker-compose.yml, which brings up the hub, Postgres, Mosquitto, and Dex - use
just local-hub-upfor the local demo stack inlocal-hub/README.md, which adds SigNoz, ClickHouse, and the OpenTelemetry collector around the hub runtime
For the full set of environment variables and runtime options, see docs/configuration.md. For local setup walkthroughs, see docs/getting-started.md and local-hub/README.md.
- docs/getting-started.md
- docs/index.md
- docs/architecture.md
- docs/configuration.md
- docs/auth.md
- docs/rpc.md
- docs/connectors.md
- docs/connectors-websocket.md
- docs/connectors-mqtt.md
- connectors/README.md
- local-hub/README.md
- connectors/gtfs/README.md
- connectors/opensky/README.md
- connectors/replay/README.md