# Text Generation WebUI installeren op Linux

[Naar de inhoud](#lm-inhoud)Netwerk/NL[EN](/en/)[Hubhub.llmnet.nlModellen vergelijken op taak, taal, kosten en licentie.](https://hub.llmnet.nl/)[Communitycommunity.llmnet.nlPrompttechnieken, patronen en systeemprompts.](https://community.llmnet.nl/)[APIapi.llmnet.nlLLM's robuust in software: rate limits, routing, structured output.](https://api.llmnet.nl/)[Consultancyconsultancy.llmnet.nlAI invoeren in een organisatie, van pilot tot productie.](https://consultancy.llmnet.nl/)[Nieuwsnieuws.llmnet.nlOntwikkelingen in AI, geduid voor Nederland.](https://nieuws.llmnet.nl/)[Benchmarkbenchmark.llmnet.nlZelf meten wat AI-kwaliteit is, voor jouw taken.](https://benchmark.llmnet.nl/)[Vacaturesvacatures.llmnet.nlAI-rollen, salarissen en carrièrepaden in Nederland.](https://vacatures.llmnet.nl/)[Lerenleren.llmnet.nlAI-concepten in gewoon Nederlands, van beginner tot bouwer.](https://leren.llmnet.nl/)[Gidsgids.llmnet.nlAI privé draaien op eigen Mac, pc, NAS of thuisserver.](https://gids.llmnet.nl/)[Directorydirectory.llmnet.nlHet AI-ecosysteem in kaart: tools, modellen, bedrijven.](https://directory.llmnet.nl/)[Radarradar.llmnet.nlSignalen uit X, onderzoek en communities voor indie developers.](https://radar.llmnet.nl/)[llmnet.nl — hoofdsite](https://llmnet.nl/)[](https://x.com/intent/post?url=https%3A%2F%2Fgids.llmnet.nl%2Ftext-generation-webui-installeren-op-een-linux-server&text=Text%20Generation%20WebUI%20installeren%20op%20Linux)[](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgids.llmnet.nl%2Ftext-generation-webui-installeren-op-een-linux-server)[](https://www.reddit.com/submit?url=https%3A%2F%2Fgids.llmnet.nl%2Ftext-generation-webui-installeren-op-een-linux-server&title=Text%20Generation%20WebUI%20installeren%20op%20Linux)[](#)[](https://x.com/intent/post?url=https%3A%2F%2Fgids.llmnet.nl%2Ftext-generation-webui-installeren-op-een-linux-server&text=Text%20Generation%20WebUI%20installeren%20op%20Linux)[](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fgids.llmnet.nl%2Ftext-generation-webui-installeren-op-een-linux-server)[](https://www.reddit.com/submit?url=https%3A%2F%2Fgids.llmnet.nl%2Ftext-generation-webui-installeren-op-een-linux-server&title=Text%20Generation%20WebUI%20installeren%20op%20Linux)[](#)

 
# Text Generation WebUI installeren op een Linux-server

 Door Ivo Donker — samengesteld met AI-ondersteuning (Claude & Gemini)

 Binnen de route van lokaal draaien — van het kiezen van componenten tot het hosten van eigen modellen — bevindt deze gids zich direct in de installatiefase op serverniveau. Wie een overzicht zoekt van de fysieke systeemeisen kan vooraf raadplegen [welke hardware nodig is voor lokale LLM's](https://gids.llmnet.nl/hardware-voor-lokale-llm) om te controleren of de server over voldoende rekenkracht beschikt. Deze handleiding bouwt specifiek voort op de fundamenten uit het overzichtsartikel over [lokale LLM's draaien op Linux](https://gids.llmnet.nl/lokale-llm-op-linux) en zoomt in op de installatie en configuratie van Text Generation WebUI, in de open-source gemeenschap beter bekend als oobabooga.

 
 
### Gangbaar referentieprofiel voor Linux-servers

 
 
- Besturingssysteem: Ubuntu Server (22.04 LTS of 24.04 LTS) of Debian Stable (x86_64)
 
- GPU & VRAM-ondergrens: NVIDIA videokaart met minimaal 12 GB tot 24 GB VRAM (zoals de RTX 3060, RTX 3090 of RTX 4090)
 
- Systeemgeheugen (RAM): Minimaal 32 GB RAM (64 GB aanbevolen bij hybride CPU/GPU-offloading)
 
- NVIDIA Driver & CUDA: NVIDIA Production Branch drivers (reeks 535.x, 550.x of nieuwer) met bijbehorende CUDA Toolkit (12.x-reeks)
 
- Softwareomgeving: Python 3.10 of 3.11, beheerd via de geïsoleerde Conda-runtime van het installatiescript
 
- Modelformaten ter illustratie: 7B- tot 14B-parameter modellen in GGUF-formaat (via llama.cpp) of EXL2/AWQ-formaat (via ExLlamaV2/AutoAWQ)
 
 

 
## Waarom Text Generation WebUI op een Linux-server?

 Text Generation WebUI onderscheidt zich van eenvoudigere interfaces zoals Ollama door zijn modulaire opzet en ongeëvenaarde parametercontrole. Waar consumentenoplossingen veel instellingen abstraheren achter een zwarte doos, legt dit platform de volledige inferentiestructuur bloot. Je hebt directe controle over loaders zoals llama.cpp, ExLlamaV2, Transformers en AutoAWQ binnen één centrale interface. Dit maakt het platform bij uitstek geschikt voor Linux-servers waarop verschillende modelformaten door elkaar worden geëvalueerd.

 De flexibiliteit kent echter duidelijke afwegingen. Het platform is ontworpen als een experimenteer- en evaluatie-omgeving voor één beheerder of onderzoeker tegelijk. Het mist ingebouwd multi-user accountbeheer en geavanceerde scheduling met continuous batching voor gelijktijdige gebruikers. Wie uitsluitend een gebruiksvriendelijke chat-interface zoekt voor meerdere gebruikers binnen een kantoornetwerk, kan beter [Open WebUI opzetten](https://gids.llmnet.nl/open-webui-opzetten) in combinatie met een gespecialiseerde backend. Text Generation WebUI kies je wanneer je diepe controle wilt over contextgrootte, layer offloading, prompt templates, samplers en LoRA-adapters zonder concessies.

 
## Systeemvereisten en drivers voorbereiden

 Voor een stabiele werking op een Linux-server zijn de juiste NVIDIA drivers en een schone softwareomgeving noodzakelijk. Hoewel Text Generation WebUI zijn eigen Python-pakketten en CUDA-runtimes isoleert in een interne Conda-omgeving, moet het Linux-hostsysteem beschikken over een functionele NVIDIA driver die compatibel is met de grafische kaart.

 Controleer eerst of de NVIDIA GPU correct wordt herkend door de kernel en welke driver momenteel actief is via de terminal:

nvidia-smi

 Als dit commando ontbreekt of een foutmelding geeft, installeer dan de officiële headless driver via het pakketbeheer van de Linux-distributie. Werk eerst de pakketbronnen bij en installeer de vereiste build-tools en drivermodules:

sudo apt update && sudo apt install -y build-essential dkms git curl wget
sudo ubuntu-drivers install --gpgpu
sudo reboot

 Na de herstart moet nvidia-smi een statusoverzicht tonen met de GPU-naam, de driverversie en het VRAM-gebruik. Zorg er tevens voor dat er voldoende schijfruimte beschikbaar is. Naast de installatie van ongeveer 8 tot 12 GB voor de applicatie en zijn Python-afhankelijkheden, vereisen moderne taalmodellen aanzienlijke opslagruimte op een snelle NVMe-SSD.

 
## De installatie via het standalone script

 De ontwikkelaars van Text Generation WebUI leveren een geautomatiseerd installatiescript dat een geïsoleerde Miniconda-omgeving opzet, PyTorch met de juiste CUDA-versie binnenhaalt en alle afhankelijkheden compileert. Dit voorkomt conflicten met systeembrede Python-pakketten.

 Kloon de officiële repository naar een gewenste doelmap (bijvoorbeeld onder /opt of in de home-directory van een service-gebruiker) en voer het startscript uit:

cd /opt
sudo git clone https://github.com/oobabooga/text-generation-webui.git
sudo chown -R $USER:$USER /opt/text-generation-webui
cd /opt/text-generation-webui
./start_linux.sh

 Tijdens de eerste uitvoering stelt het script een aantal vragen via de terminal:

 1. GPU-selectie: Kies optie A) NVIDIA GPU om ondersteuning voor CUDA-versnelling in te schakelen.
 2. CUDA-versie: Kies voor recente videokaarten de standaard aanbevolen CUDA 12.x compiler.
 3. Model download: Het script vraagt of je direct een model wilt downloaden; dit kan worden overgeslagen door op Enter te drukken, aangezien we dit later via de interface of de CLI nauwkeuriger configureren.

 Het script downloadt nu de vereiste runtime-bestanden. Afhankelijk van de verbindingssnelheid van de server duurt dit proces enige minuten. Zodra de installatie is voltooid, start de WebUI op poort 7860 op het loopback-adres (127.0.0.1).

 
## CLI-parameters en netwerkconfiguratie voor servergebruik

 Standaard luistert Text Generation WebUI uitsluitend naar lokale verbindingen vanaf de machine zelf. Op een headless Linux-server zonder grafische desktopomgeving is de interface daardoor vanaf andere werkstations op het netwerk niet direct bereikbaar. Om toegang te verlenen, moeten specifieke opstartvlaggen worden meegegeven.

 Maak of bewerk het configuratiebestand CMD_FLAGS.txt in de hoofdmap van de applicatie. Hierin definieer je argumenten die bij elke opstart automatisch worden geladen:

nano CMD_FLAGS.txt

 Plaats daarin de gewenste parameters om de webinterface op alle netwerkinterfaces te laten luisteren, de OpenAI-compatibele API te activeren en basisbeveiliging in te stellen:

--listen
--listen-port 7860
--api
--api-port 5000
--gradio-auth beheerder:GeheimWachtwoordHier!

 
 
 
 
 CLI-parameter | 
 Standaardwaarde | 
 Doel en werking op een server | 
 

 
 
 
 --listen | 
 127.0.0.1 | 
 Bifurceert de Gradio-server naar 0.0.0.0 zodat deze bereikbaar is in het LAN. | 
 

 
 --listen-port | 
 7860 | 
 Bepaalt de TCP-poort waarop de browserinterface bereikbaar is. | 
 

 
 --api | 
 Uitgeschakeld | 
 Start de achtergrond-API die compatibel is met OpenAI en KoboldAI endpoints. | 
 

 
 --gradio-auth | 
 Geen | 
 Dwingt een gebruikersnaam en wachtwoord af vóór toegang tot de webpagina. | 
 

 
 --auto-devices | 
 Uitgeschakeld | 
 Verdeelt model-lagen automatisch over meerdere fysieke GPU's. | 
 

 
 --trust-remote-code | 
 Uitgeschakeld | 
 Vereist voor specifieke model-architecturen die custom Python-code uitvoeren. | 
 

 
 
 

 
## Model loaders kiezen: llama.cpp versus ExLlamaV2

 In het tabblad Model van de WebUI kies je welke engine de inferentie verzorgt. De keuze voor de juiste model loader hangt direct samen met het bestandsformaat van het model dat je inzet. Raadpleeg het artikel over [kwantisatie en de afweging tussen bestandsgrootte en kwaliteit](https://gids.llmnet.nl/kwantisatie-uitgelegd) om te bepalen welk formaat voor jouw specifieke geheugenbudget passend is.

 
 
 
 
 Loader | 
 Bestandsformaat | 
 Geheugenplaatsing | 
 Belangrijkste kenmerk | 
 

 
 
 
 llama.cpp | 
 GGUF | 
 VRAM + Systeem-RAM (hybride) | 
 Kan overtollige lagen naar CPU/RAM offloaden als VRAM vol raakt. | 
 

 
 ExLlamaV2 | 
 EXL2 / GPTQ | 
 Volledig VRAM | 
 Zeer hoge generatiesnelheid en efficiënte 4-bit KV-cache ondersteuning. | 
 

 
 Transformers | 
 Safetensors (FP16/BF16) | 
 VRAM / RAM | 
 Standaard referentie-implementatie, ideaal voor finetuning en evaluatie. | 
 

 
 AutoAWQ | 
 AWQ (4-bit) | 
 Volledig VRAM | 
 Consistente precisie bij kwantisatie zonder floating-point reconstructie. | 
 

 
 
 

 Bij het gebruik van de llama.cpp loader met een GGUF-model stel je de parameter n-gpu-layers in. Hiermee bepaal je hoeveel lagen van het neurale netwerk in het snelle GPU-geheugen worden geladen. Beschikt de server over voldoende VRAM voor het gekozen model, dan zet je deze waarde op het maximum aantal lagen zodat het volledige model binnen de GPU draait voor optimale prestaties.

 Kies je voor ExLlamaV2 met een EXL2-model, stel dan de gpu-split en eventuele cache_8bit of cache_4bit opties in. Door de KV-cache te comprimeren naar 4-bit verbruikt de contextruimte substantieel minder VRAM, waardoor je ook bij grotere contextvensters binnen het geheugenbudget van een enkele grafische kaart kunt blijven.

 
## Productie-inzet met Systemd en procesbeheer

 Om te zorgen dat Text Generation WebUI automatisch start wanneer de server herstart en herstelt bij eventuele crashes, configureren we een Systemd-service. Maak een nieuw service-bestand aan:

sudo nano /etc/systemd/system/oobabooga.service

 Plaats de onderstaande service-definitie in het bestand. Pas de paden en de gebruikersnaam aan op basis van jouw configuratie:

[Unit]
Description=Text Generation WebUI (oobabooga) Service
After=network.target nvidia-persistenced.service

[Service]
Type=simple
User=beheerder
WorkingDirectory=/opt/text-generation-webui
ExecStart=/bin/bash /opt/text-generation-webui/start_linux.sh
Restart=on-failure
RestartSec=10
StandardOutput=journal
StandardError=journal
Environment="PYTHONUNBUFFERED=1"

[Install]
WantedBy=multi-user.target

 Laad daarna de configuratie opnieuw in, schakel de service in voor automatisch opstarten bij systeemboot en start het proces direct:

sudo systemctl daemon-reload
sudo systemctl enable oobabooga.service
sudo systemctl start oobabooga.service

 De status en live-logs van de draaiende service volg je eenvoudig via journalctl:

sudo journalctl -u oobabooga.service -f

 
## De OpenAI-compatibele API gebruiken

 Zodra de parameter --api actief is in CMD_FLAGS.txt, luistert de server standaard op poort 5000 naar REST-aanroepen die de OpenAI API-specificatie volgen. Hierdoor kun je externe applicaties, scripts of dashboards rechtstreeks koppelen.

 Het endpoint is bijzonder krachtig wanneer je de lokale server wilt inzetten voor geavanceerde zoeksystemen. Lees meer over hoe een taalmodel documenten kan verrijken in de uitleg over [RAG voor beginners en het doorzoekbaar maken van eigen bestanden](https://leren.llmnet.nl/rag-voor-beginners) om te ontdekken hoe je de API koppelt aan een documentpipeline.

 Test de verbinding vanaf een ander Linux-werkstation in het lokale netwerk via curl:

curl http://SERVER-IP:5000/v1/chat/completions \
 -H "Content-Type: application/json" \
 -d '{
 "model": "instruct-model",
 "messages": [
 {"role": "system", "content": "Je bent een behulpzame assistent."},
 {"role": "user", "content": "Leg in drie zinnen uit wat Linux is."}
 ],
 "temperature": 0.7,
 "max_tokens": 150
 }'

 
## Taalgedrag en parameters afstemmen op Nederlandse invoer

 Om te evalueren hoe de server presteert bij reële taken, kan een prompt worden gebruikt die zowel contextuele logica als correcte zinsbouw vereist. Voor praktische tips over het optimaliseren van systeemprompts en modelgedrag in onze taal kun je de gids raadplegen over [je AI beter laten presteren in het Nederlands](https://gids.llmnet.nl/beter-nederlands).

 Voorbeeldprompt voor zakelijke taken:
 "Schrijf een beknopt beleidsvoorstel van drie alinea's over het intern opslaan van bedrijfsgegevens binnen de kaders van de AVG. Gebruik een zakelijke en formele toon."

 Voorbeeld van een typische modeluitvoer:

 "Dit beleidsvoorstel beschrijft de richtlijnen voor de opslag en verwerking van persoonsgegevens binnen de interne infrastructuur, conform de Algemene Verordening Gegevensbescherming (AVG). Het doel is de vertrouwelijkheid en integriteit van bedrijfs- en klantgegevens te waarborgen door gegevensverwerking uitsluitend op lokale servers te laten plaatsvinden, zonder tussenkomst van externe cloudleveranciers."

 "Alle afdelingen die werken met gevoelige data dienen deze op te slaan binnen afgeschermde netwerksegmenten. Toegang wordt uitsluitend verleend op basis van het 'need-to-know'-principe en wordt beveiligd middels multi-factor authenticatie. Periodieke controles zien toe op de naleving van deze toegangsrechten en documenteren elke gegevensmutatie in een centraal logboek."

 "Door de volledige regie over de data-opslag intern te houden, elimineert de organisatie het risico op ongeoorloofde doorgifte naar derde landen. Dit voorstel legt het fundament voor een robuust compliance-kader dat periodiek wordt herzien naar aanleiding van actuele wet- en regelgeving."

 Aandachtspunten bij het meten van prestaties:

 
 
- Snelheidsverschillen per loader: Dedicated GPU-loaders zoals ExLlamaV2 realiseren bij volledige VRAM-plaatsing over het algemeen aanzienlijk hogere tokendoorvoersnelheden dan flexibele CPU/GPU-hybride loaders zoals llama.cpp.
 
- Latency en TTFT: De responstijd tot het eerste token (Time to First Token) wordt grotendeels bepaald door de prompt-evaluatiesnelheid van de gekozen backend en de lengte van de context.
 
- Geheugenverdeling: Houd rekening met zowel het basisgeheugen voor de modelgewichten als de dynamische VRAM-allocatie die toeneemt naarmate het actieve contextvenster groeit.
 

 
## Privacy en gegevensbeveiliging

 Het voornaamste argument voor een dedicated Linux-server met Text Generation WebUI is absolute controle over datastromen. Wanneer de applicatie correct is geconfigureerd, verlaat geen enkele prompt, gegenereerde output of documentfragment het lokale netwerk. Bekijk voor een volledig compliance-overzicht ook de [gids over privacyvriendelijk AI-gebruik](https://gids.llmnet.nl/privacyvriendelijk-ai) om operationele risico's te mitigeren.

 Er zijn echter twee belangrijke punten van aandacht waarbij wel data over het netwerk kan gaan:

 
 
- Model downloads: Als je modellen binnenhaalt via het tabblad Model (met de ingebouwde Hugging Face downloader), maakt de server verbinding met externe opslagservers van Hugging Face. Dit gebeurt uitsluitend tijdens het downloaden van de gewichten.
 
- Externe tunneling: Gebruik in een productie- of serveromgeving geen externe proxy- of deelopties (zoals --share), tenzij het netwerkverkeer expliciet via een eigen VPN of afgeschermde tunnel wordt geleid.
 

 
## Energieverbruik en hardwarebelasting

 Een Linux-server die continu operationeel blijft als LLM-backend heeft een variabel stroomprofiel. Het daadwerkelijke verbruik hangt sterk af van de staat waarin de GPU verkeert: idle of actief berekenend. Lees voor methoden om het verbruik nauwkeurig in kaart te brengen het artikel over [wat het stroomverbruik van lokale AI kost](https://gids.llmnet.nl/stroomverbruik-lokale-ai).

 
 
 
 
 Operationele fase | 
 Indicatieve GPU-belasting | 
 Indicatief totaalverbruik systeem | 
 Karakteristiek van de fase | 
 

 
 
 
 In rust (model in VRAM geladen) | 
 Laag (basisonderhoud VRAM) | 
 Standaard idle-verbruik van het serverplatform | 
 Continu stroomverbruik om model direct paraat te houden in geheugen. | 
 

 
 Actieve generatie (inferentie) | 
 Hoog tot maximaal vermogen | 
 Piekvermogen inclusief CPU- en koelingsbelasting | 
 Kortstondige vermogenspiek tijdens het berekenen van tokens. | 
 

 
 
 

 Rekenvoorbeeld ter illustratie: Stel dat een server in rust gemiddeld 70 watt vraagt en tijdens actieve generatie piekt naar 350 watt. Bij een fictief scenario van 22 uur rust en 2 uur continue generatie per dag komt het dagverbruik uit op circa 2,24 kWh. Bij een hypothetisch tarief van € 0,30 per kWh resulteert dat in een indicatief bedrag van ongeveer € 20 per maand. Dit betreft een zuiver theoretische voorbeeldberekening; werkelijke waarden hangen af van de specifieke voedingsefficiëntie, het aantal GPU-kernen, de omgevingstemperatuur en dynamische energietarieven.

 Om onnodig verbruik te beperken kan de NVIDIA Persistence Daemon worden ingeschakeld, terwijl het instellen van een vermogenslimiet via nvidia-smi -pl kan helpen om de energie-efficiëntie per gegenereerd token te optimaliseren.

 
## Problemen oplossen bij servergebruik

 Mocht de installatie of het laden van modellen onverhoopt vastlopen, raadpleeg dan het overzicht over [foutoplossing bij out-of-memory meldingen en trage tokens](https://gids.llmnet.nl/als-het-niet-werkt-out-of-memory-trage-tokens-en-een-gpu-die-niet-meed) voor diepgaande diagnose-stappen. De meest voorkomende situaties bij Text Generation WebUI op Linux zijn:

 1. CUDA Out of Memory (OOM): Het model of het gevraagde contextvenster overschrijdt het beschikbare VRAM. Verlaag in het tabblad Model de parameter n-gpu-layers (bij llama.cpp) of activeer een gecomprimeerde cache_4bit (bij ExLlamaV2).
 2. Interface onbereikbaar vanaf andere pc's: Controleer of de vlag --listen daadwerkelijk aanwezig is in CMD_FLAGS.txt en controleer de Linux-firewall via sudo ufw status. Zet poort 7860 eventueel open via sudo ufw allow 7860/tcp.
 3. Onverwacht trage generatie: Dit duidt er over het algemeen op dat het model gedeeltelijk in het tragere systeem-RAM is geladen of dat de vereiste CUDA-versnelling niet correct wordt aangesproken waardoor berekeningen op de CPU plaatsvinden.

 
## Conclusie en volgende stappen

 Text Generation WebUI biedt beheerders en gevorderde gebruikers een hoge mate van controle over lokale inferentie op een Linux-server. Door de ondersteuning van diverse loaders en modelformaten, gecombineerd met een OpenAI-compatibele API en procesbeheer via Systemd, vormt het een flexibel fundament voor zowel evaluatiewerk als lokale integraties.

 Wanneer de basisinstallatie operationeel is, kan de server verder worden uitgebreid met afgeschermde netwerktoegang, geautomatiseerde pipelines of specifieke finetuning-adapters om modellen nog gerichter in te zetten binnen een eigen infrastructuur.
