Open WebUI installatie en OmniProxy configuratie
Wil je lokale en cloudmodellen in hetzelfde chatvenster gebruiken, maar ben je bang dat implementatie en verbindingsinstellingen te ingewikkeld zijn? Open WebUI biedt een vertrouwde chatinterface. Eenmaal geïnstalleerd, kun je het gaan gebruiken door stap voor stap de verbindingsgegevens in te voeren.
Open WebUI is een zelf-gehoste chatinterface die op je eigen computer of server kan worden geïnstalleerd en ook volledig offline kan draaien. Het is niet gebonden aan één modelprovider: het kan verbinding maken met tools zoals Ollama die modellen lokaal draaien, evenals OpenAI-compatibele eindpunten—adressen die modelservices bieden met hetzelfde verzoekformaat. Hierdoor kun je in hetzelfde venster schakelen tussen lokale en cloudmodellen.
Het is geschikt voor langdurig gebruik door teams en organisaties. Mogelijkheden die sneller updates ontvangen, verschijnen eerst in Computer, het product dat Open WebUI gebruikt om nieuwe functies uit te proberen.
Voordat je begint
Open WebUI is beschikbaar op macOS, Linux en Windows. Je kunt het installeren met Docker, Python of Kubernetes. Docker verpakt de applicatie en de runtime-omgeving in een relatief geïsoleerde container en is de aanbevolen methode. Als Docker niet beschikbaar is, kun je ook de geteste Python-opdracht hieronder gebruiken. Kubernetes is een systeem voor het implementeren en beheren van containers; zie de Quick Start die aan het einde van deze gids is gekoppeld voor de bijbehorende stappen.
Officieel aanbevolen
Docker
- Eén docker run-opdracht
- Open 3000 in de browser
- Gegevens worden opgeslagen in het volume
Wil alleen chatten
slim image
- Kleinere downloadgrootte
- Wijzig de tag naar :slim
- Chatfunctionaliteit blijft beschikbaar
Hier niet behandeld
Twee andere opties
- Handmatige Python-installatie
- Kubernetes-implementatie
- Zie de officiële Quick Start
Bereid voor het starten het volgende voor:
- Docker geïnstalleerd en draaiend.
- Een geheime tekenreeks die alleen door jou wordt gebruikt. Voer
openssl rand -hex 32uit om er een te genereren en voer deze vervolgens in alsWEBUI_SECRET_KEY. Sla deze waarde permanent op. Als je deze wijzigt bij het opnieuw opbouwen van de container, worden gebruikers die al zijn ingelogd, uitgelogd. - Een draaiende OmniProxy-instantie en een model-ID uit de huidige modellijst. De model-ID is de volledige naam die wordt gebruikt om een specifiek model te selecteren.
Installeren en voor de eerste keer opstarten
Open een terminal en voer de opdracht uit de Quick Start uit. Vervang eerst your-secret-key door het geheim dat je zojuist hebt gegenereerd:
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data -e WEBUI_SECRET_KEY=your-secret-key --name open-webui --restart always ghcr.io/open-webui/open-webui:main
De volgende delen van deze opdracht dienen verschillende doelen:
-p 3000:8080: Hiermee kun je de interface openen via poort 3000 op deze computer. Als poort 3000 al in gebruik is, wijzig dan het nummer aan de linkerkant.-v open-webui:/app/backend/data: Slaat chats, gebruikers en instellingen op in een gegevensvolume. Een gegevensvolume is een locatie buiten de container waar gegevens langdurig worden bewaard, zodat de inhoud behouden blijft nadat de container is bijgewerkt. Verwijder deze optie niet.--add-host=host.docker.internal:host-gateway: Hiermee heeft de container toegang tot andere services die op deze computer draaien.--restart always: Start de container opnieuw nadat de computer opnieuw is opgestart.
Open na het voltooien van de opdracht http://localhost:3000 in een browser en volg de instructies op het scherm om het eerste account aan te maken.
Als je alleen via een API hoeft te chatten, kun je de image-tag wijzigen van :main naar :slim. slim is een kleiner image dat geen lokale spraak- en embedding-modellen in de container bevat, maar de chatinterface blijft beschikbaar. Blijf :main gebruiken als je die lokale mogelijkheden nodig hebt.
Voer voor handmatige updates eerst docker rm -f open-webuiuit, voer vervolgens docker pull ghcr.io/open-webui/open-webui:mainuit en start het opnieuw met dezelfde docker run opdracht. Houd zowel het gegevensvolume als WEBUI_SECRET_KEY ongewijzigd.
Als Docker niet beschikbaar is
De Quick Start biedt ook een Python-installatiemethode. Op 9 oktober 2026 werd de volgende opdracht op macOS gebruikt om Open WebUI v0.11.4 te installeren en één gesprek te voltooien. Docker Desktop was op dat moment niet op die computer geïnstalleerd.
DATA_DIR=~/.open-webui uvx --python 3.11 open-webui@latest serve
Open na het opstarten http://localhost:8080 in een browser. Dit is de poort die door de Python-installatie wordt gebruikt, niet poort 3000 van Docker.
Tijdens de eerste opstart wordt een embedding-model gedownload, wat enkele minuten kan duren. Een embedding-model zet tekst om in gegevens die makkelijker te doorzoeken en te matchen zijn. Wacht tot de inlogpagina verschijnt voordat je doorgaat. Het eerste geregistreerde account wordt de beheerder. De interfacetaal volgt de systeemtaal; tijdens deze test werd Vereenvoudigd Chinees weergegeven.
DATA_DIR moet verwijzen naar een map die langdurig wordt bewaard en wordt gebruikt om Open WebUI-gegevens op te slaan. Als deze niet is ingesteld, kunnen de gegevens in een tijdelijke map worden opgeslagen en na het afsluiten verloren gaan. Als WEBUI_SECRET_KEY niet is ingesteld, schrijft het programma .webui_secret_key in de huidige map. Start het vanuit een map die je wilt behouden, of stel deze variabele zelf in.
Verbindingsgegevens ophalen uit OmniProxy
Kopieer de volgende drie items uit je eigen OmniProxy-instantie:
URL: https://your-omniproxy-origin.example/v1
API Key: <YOUR_OMNIPROXY_API_KEY>
Model ID: Copy from the current OmniProxy model list
De URL is het adres dat Open WebUI gebruikt om verbinding te maken met het eindpunt en moet eindigen op /v1. Voeg er niet /chat/completions achter toe; Open WebUI voegt dat deel automatisch toe.
Kopieer de volledige model-ID uit de huidige lijst van OmniProxy. Als de ID een bronvoorvoegsel en slash bevat, behoud deze dan ook. De volgende twee korte namen zijn slechts referenties uit de documentatie van de provider op 9 oktober 2026. Gebruik ze niet als ze niet in de huidige lijst staan:
- Claude API-ID voor Claude Sonnet 5.5:
claude-sonnet-5-5 - API-naam voor Gemini 3.8 Flash:
gemini-3.8-flash
Voer geen provider-sleutel in bij Open WebUI. Als de gateway sleutels niet valideert, laat de API-sleutel dan leeg in plaats van een andere sleutel te verzinnen.
Browser
Lokale poort 3000
- Open de chatpagina
- Voltooi eerst de registratie
- Open daarna de instellingen
Binnen de container
Open WebUI
- Gebruik geen localhost
- Gebruik in plaats daarvan de naam van de hostmachine
- De URL eindigt op /v1
Dezelfde computer
OmniProxy
- Houd de sleutel in de gateway
- Gebruik de modellijst van de gateway
- Bekijk daarna de verzoeklogboeken
Als de modelservice op de host draait terwijl Open WebUI in een Docker-container draait, vervang dan localhost in de URL door host.docker.internal. De host is de computer die Docker rechtstreeks draait. Als OmniProxy alleen op deze computer luistert, kan de URL worden geschreven als http://host.docker.internal:port/v1, waarbij port wordt vervangen door de poort die OmniProxy daadwerkelijk gebruikt.
Als Open WebUI lokaal draait via de Python-opdracht in de vorige sectie en OmniProxy ook lokaal draait, gebruik dan 127.0.0.1 of localhost in het adres. Gebruik in dit geval niet host.docker.internal .
De configuratie invoeren
In de Vereenvoudigd Chinese interface van v0.11.4 die op 9 oktober 2026 werd getest, verschilden de namen van Settings > Admin > Connections in de Engelse instructies. Volg de opties die in de geteste interface worden getoond, hieronder vertaald:
- Vouw de linkerzijbalk uit.
- Klik op het gebruikersmenu onderaan.
- Klik op Settings.
- Klik in het beheergedeelte hieronder op External Connections.
- Open OpenAI API.
- Klik op + rechts van Manage OpenAI API Connections.
- Voer in het dialoogvenster Edit Connection de URL in die eindigt op
/v1. Houd het API-type ingesteld op Chat Completions. - Houd Authentication Method ingesteld op Key (Bearer). Bearer-authenticatie plaatst de API-sleutel in het verzoek voor identiteitsverificatie. Als OmniProxy je een sleutel heeft gegeven, voer deze dan in onder API Key. Als de gateway sleutels niet valideert, laat dit veld dan leeg. Op 9 oktober 2026 slaagden zowel de validatie als één gesprek met het veld leeg gelaten.
- Klik op Verify Connection naast de URL. Als OmniProxy
/modelsbiedt, wordt de modellijst hier opgehaald. - Open Advanced. Als Model ID leeg wordt gelaten, worden alle modellen gebruikt die door
/modelsop dat adres worden geretourneerd. Voer alleen als de validatie mislukt een volledige ID uit de lijst in onder Add Model ID en klik vervolgens op Add. Voeg elke ID slechts één keer toe; voorloop- en volgspaties worden verwijderd. - Klik op Save in dit venster en klik vervolgens op Save in de rechterbenedenhoek van de pagina External Connections.
Het opslaan van de configuratie vervangt de validatie niet. Verify Connection verzoekt om het /models eindpunt van de andere service, dat beschikbare modellen vermeldt. Sommige services bieden dit eindpunt niet, dus validatie kan een fout rapporteren, ook al kan chatten nog steeds werken. Voeg in dat geval de model-ID handmatig toe.
Een echte taak verifiëren
Ga terug naar de chatpagina, open het modelmenu naast het invoervak en selecteer de volledige ID uit de OmniProxy-lijst. Stuur een heel kort bericht, zoals vragen om met slechts één woord te antwoorden. Er moet daadwerkelijk een antwoord in het chatvak verschijnen.
Op 9 oktober 2026 werd dit gesprek voltooid met de Python-installatie van v0.11.4. Docker blijft de aanbevolen methode, maar de test werd niet herhaald in Docker.
Open vervolgens de verzoeklogboeken van OmniProxy en bevestig de bron en model-ID voor dit verzoek. Alleen een succesvolle opslag zien, of alleen het model in het menu zien, telt niet als voltooiing.
Interface
Het model kan worden geselecteerd
- Connections is opgeslagen
- Het model verschijnt in de lijst
- Stuur een korte vraag
Antwoord
Het chatvak toont een antwoord
- Het is geen leeg bericht
- Het is geen verbindingsfout
- Probeer het opnieuw met een ander model
Logboeken
Zichtbaar in de gateway
- Bron is deze verbinding
- Model-ID komt overeen
- Er is geen sleutel ingevoerd op de pagina
Veelvoorkomende fouten
localhostof127.0.0.1werd gebruikt in de container: Deze adressen wijzen naar de container zelf, niet naar de host. Wijzig het adres inhost.docker.internalen bevestig dat de opstartopdracht--add-host=host.docker.internal:host-gatewaybevat. Het omgekeerde geldt wanneer Open WebUI niet in een container draait: gebruik in plaats daarvan een lokaal adres.- De browser kan de pagina niet openen: Controleer voor Docker poort 3000; controleer voor Python poort 8080. Wacht tijdens de eerste opstart tot het downloaden van het embedding-model is voltooid. Je kunt
docker psgebruiken om te bevestigen of de container draait. Als poort 3000 al in gebruik is, wijzig dan de poort aan de linkerkant van-p. - De ID in het modelmenu is langer dan de korte naam van de provider: Gebruik de volledige ID uit het menu, inclusief eventuele slashes.
- Iedereen is uitgelogd na een update:
WEBUI_SECRET_KEYis gewijzigd. Start opnieuw met het geheim dat de eerste keer is gegenereerd. - Verify Connection mislukt: Voeg eerst handmatig de model-ID toe onder Advanced en bevestig deze vervolgens met een echte chat van één zin. Sommige services bieden
/modelsniet, dus chatten kan nog steeds werken wanneer validatie een fout rapporteert. - Het model bestaat niet: Kopieer de ID opnieuw uit de huidige lijst van OmniProxy in plaats van een verouderde naam te blijven gebruiken.
Officiële referenties
Zie Open WebUI Quick Start voor installatieopdrachten. Zie de OpenAI-compatible connection instructions voor verbindingsstappen. Zie Claude model overview en Gemini model list.
Vervang elke placeholder met waarden uit uw eigen OmniProxy-configuratie. Publiceer nooit een echte sleutel.
Een opgeslagen resultaat of HTTP 200 alleen bewijst niet volledige agentcompatibiliteit. Controleer de bron en het model in de verzoeklog van OmniProxy.