Nils
09/07/2026, 12:12 PMrobertschwarz_umh
09/09/2026, 9:18 AM8090 port needs to be published.
Judging by your question, it sounds like you have a docker-compose.yml file that you run with docker compose up. If that's the case, you can open the port by adding it to the yaml file:
yaml
services:
umh:
# image / env / restart / etc
ports:
- "8090:8090"
I noticed that our [documentation](https://docs.umh.app/reference/http-api/topic-browser-graphql#configuration) doesn't state that, so I took a note to add it.
Edit: If you're running your container + config in a single docker run command instead of a docker-compose file, you can expose the 8090 port as such:
bash
$ docker run -d \
-- name umh-core
# etc
-p 8090:8090 \ # this opens port 8090
# etc
You can try curling using this:
bash
curl -s -X POST http://localhost:8090/graphql \
-H 'Content-Type: application/json' \
-d '{"query":"{ topics(limit: 3) { topic } }"}'robertschwarz_umh
09/09/2026, 10:02 AMv0.37.0 is potentially the only version of umh-core that properly supports the gql API.
In my case, I was getting null from the API when using versions later than v.0.37.0.
Important to note: This was an experimental feature, and it hasn't been on our roadmap since the initial MVP release.
Edit: I set up a 0.37.0 instance, which was a bit troublesome in it self (e.g. incompatible with new implementation of our data models), but: I was able to confirm that the gql API works on that version.
Example call from outside of container:
bash
docker exec YOUR_CONTAINER_NAME curl -s http://localhost:8090/graphql -H 'Content-Type: application/json' -d '{"query":"{ topics(limit: 1000) { topic metadata { key value } lastEvent { producedAt headers { key value } ... on TimeSeriesEvent { sourceTs scalarType numericValue stringValue booleanValue } ... on RelationalEvent { json } } } }"}'
You can omit the docker exec bit and curl if you're already inside the container.robertschwarz_umh
09/09/2026, 10:04 AM