This repository contains the snap packaging configurations for Open WebUI.
Open WebUI itself is included into the snap as a Python pip package.
Open WebUI supports automatic configuration of OpenAI-compatible endpoints through the snap content interface. Inference snaps such as Gemma 4 expose a provider slot that Open WebUI reads to register the endpoint automatically. Ollama discovery is stubbed out until the provider interface supports it; manually configured Ollama connections are preserved.
sudo snap connect open-webui:provider <snap-name>:provider
After the connection is made, Open WebUI's connect-plug-provider hook runs immediately and adds the endpoint to the database. If Open WebUI was still initialising when the hook ran, a periodic job re-checks and applies any pending configs once every minute.
To disconnect:
sudo snap disconnect open-webui:provider <snap-name>:provider
The periodic job detects the disconnection and removes the endpoint from the database within one minute.
To expose a provider slot that Open WebUI can consume, declare a slot with content ID inference-provider in your snap's snapcraft.yaml:
slots:
provider:
interface: content
content: inference-provider
source:
read:
- $SNAP_COMMON/share/providerInside the shared directory ($SNAP_COMMON/share/provider), publish provider.env in the literal KEY=value format produced by modelctl run --share-provider:
SNAP_NAME=gemma4
SNAP_INSTANCE_NAME=gemma4
OPENAI_BASE_URL=http://127.0.0.1:8081/v1Snapd mounts each shared provider directory under $SNAP/shared-configs/
(for example, provider/ and provider-2/ for multiple connections).
Open WebUI reads OPENAI_BASE_URL without executing the file and registers it
as an unauthenticated, snap-tagged OpenAI connection. Metadata keys are ignored.
The importer no longer reads the legacy openai.json or ollama.json files.