Open WebUI installatie en OmniProxy configuratie
Wil je lokale en cloudmodellen in hetzelfde chatvenster gebruiken, maar ben je bang dat implementatie en verbindingsconfiguratie 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 het geteste Python-commando 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 gelinkt voor de bijbehorende stappen.
Officieel aanbevolen
Docker
- Eén docker run-commando
- 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 voordat je begint 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 aangemeld, afgemeld. - Een draaiend OmniProxy-exemplaar 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 het commando 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 onderdelen van dit commando 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 afloop van het commando 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 hetzelfde docker run commando. Houd zowel het gegevensvolume als WEBUI_SECRET_KEY ongewijzigd.
Als Docker niet beschikbaar is
De Quick Start biedt ook een Python-installatiemethode. Op 09-10-2026 werd het volgende commando 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.
Er wordt tijdens de eerste opstart 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 aanmeldpagina verschijnt voordat je verdergaat. 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 directory die langdurig wordt bewaard en wordt gebruikt om Open WebUI-gegevens op te slaan. Als dit niet is ingesteld, kunnen de gegevens in een tijdelijke directory worden opgeslagen en na het afsluiten verloren gaan. Als WEBUI_SECRET_KEY niet is ingesteld, schrijft het programma .webui_secret_key in de huidige directory. Start het vanuit een directory die je wilt behouden, of stel deze variabele zelf in.
Verbindingsgegevens ophalen uit OmniProxy
Kopieer de volgende drie items uit je eigen OmniProxy-exemplaar:
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 geen /chat/completions achter toe; Open WebUI voegt dat deel automatisch toe.
Kopieer de volledige model-ID uit de huidige modellijst van OmniProxy. Als de ID een bron-prefix en slash bevat, behoud deze dan ook. De volgende twee korte namen zijn slechts referenties uit de documentatie van de provider op 09-10-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 Open WebUI in. Als de gateway geen sleutels valideert, laat het API-sleutelveld 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 het Python-commando in de vorige sectie en OmniProxy ook lokaal draait, gebruik dan 127.0.0.1 of localhost in het adres. Gebruik in dit geval geen host.docker.internal.
De configuratie invoeren
In de Vereenvoudigd Chinese interface van v0.11.4 die op 09-10-2026 werd getest, verschilden de namen van Settings > Admin > Connections in de Engelse instructies. Volg de opties die worden getoond in de geteste interface, hieronder vertaald:
- Vouw de linker zijbalk 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 geen sleutels valideert, laat dit veld dan leeg. Op 09-10-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 op zichzelf de validatie niet. Verify Connection vraagt het /models eindpunt van de andere service op, dat beschikbare modellen opsomt. 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 de vraag om met slechts één woord te antwoorden. Een respons moet daadwerkelijk in het chatvak verschijnen.
Op 09-10-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
Respons
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 het opstartcommando--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 afgemeld 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 voor installatiecommando’s Open WebUI Quick Start. Zie voor verbindingsstappen de OpenAI-compatible connection instructions. Zie voor de model-ID’s die in de voorbeelden worden gebruikt de 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 geen volledige Agent-compatibiliteit. Controleer de bron en het model in het oproeprecord van OmniProxy.