fix: connect Open WebUI to local Ollama on WendyOS#67
Merged
Conversation
WendyOS discovery relies on mDNS at the host level, but app containers do not reliably have the NSS modules or Avahi tooling needed to resolve .local names themselves. Since Ollama publishes its API on the shared device network stack, loopback is the stable route for Open WebUI while keeping Docker Compose service-name DNS for local development. Co-Authored-By: ChatGPT <noreply@openai.com>
Joannis
reviewed
Jul 1, 2026
The Wendy runtime exposes the device hostname through WENDY_HOSTNAME. Using that convention ensures the WendyOS-only Ollama URL rewrite runs when the app is deployed on device. Co-Authored-By: ChatGPT <noreply@openai.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The LLM template has two different networking environments to support. In plain Docker Compose,
http://ollama:11434is correct because Compose creates service-name DNS. On WendyOS, that Compose DNS name is not available to the Open WebUI process, so the template already had a Wendy-specific rewrite path.The previous rewrite used the device mDNS name, for example
http://wendyos-curious-meteor.local:11434. That works from a developer machine and the Thor host advertises it correctly via Avahi, but it is the wrong dependency for an app container. The Open WebUI container does not reliably have the NSS/mDNS pieces required to resolve.localnames. On the Thor used for validation, the host could resolve and advertisewendyos-curious-meteor.local, while the Open WebUI container hadhosts: files dns, nolibnss_mdns, and failed to resolve the same name.Ollama is already published on the device network stack. From the Open WebUI container,
127.0.0.1:11434reached Ollama consistently, while the.localhostname did not. Loopback is therefore the more stable in-app route: it avoids depending on mDNS inside arbitrary app images, and it still keeps local Docker Compose behavior unchanged.This also handles apps that were started with the older
.localrewrite by normalizing either the Compose default URL or the previous Wendy device URL to localhost whenWENDY_DEVICE_HOSTNAMEis present.Tests
bash -n python/llm/open-webui/entrypoint.shavahi-daemonwas active and advertising_wendyos._udp.avahi-resolve-host-name wendyos-curious-meteor.localresolved on the host.thor-llm_open-webui,.localresolution failed.thor-llm_open-webui,curl http://127.0.0.1:11434/api/tagsreturned the Ollama model list.gemma4:26bmodel appeared and could be used for chat after configuring the connection away from.local.