Pexon Consulting | 14 Min. Lesezeit | 26.11.2025
TL;DR
Open WebUI Azure ist die DSGVO-konforme Alternative zu ChatGPT Enterprise: Sie hosten die Chat-Oberfläche selbst, nutzen Azure OpenAI als Modell-Backend und binden Ihre Mitarbeiter per SSO aus Entra ID an. Pexon Consulting (80 Mitarbeiter, Microsoft Partner) betreibt dieses Setup produktiv bei Kunden in Versicherung, Fertigung und Energie. Zeitaufwand für die Ersteinrichtung: rund drei Stunden.
Warum Open WebUI Azure statt ChatGPT Enterprise
ChatGPT Enterprise kostet 60 USD pro Nutzer und Monat. Bei 200 Mitarbeitern sind das 144.000 USD im Jahr — ohne dass Sie die Kontrolle über Speicherort, Modelle oder Feinsteuerung haben.
Open WebUI ist eine Open-Source-Chat-Oberfläche mit über 131.000 GitHub-Stars. Kombiniert mit Azure OpenAI bekommen Sie die gleiche Funktionalität wie ChatGPT Enterprise — aber in Ihrem Azure-Tenant, mit Ihren Compliance-Einstellungen und zu einem Bruchteil der Kosten.
Wir raten nicht pauschal jedem zum Eigenbetrieb. Wenn Sie unter 50 Mitarbeiter haben und keine regulatorischen Anforderungen, ist ChatGPT Enterprise mit Admin-Panel der schnellere Weg. Ab 200+ Mitarbeitern, mit einem Betriebsrat oder in regulierten Branchen kippt die Rechnung — und zwar deutlich.
Was Sie am Ende haben werden
- Eine produktionsreife Open-WebUI-Installation auf einer Azure-VM
- Single Sign-On über Ihr bestehendes Microsoft Entra ID
- Automatisches SSL-Zertifikat via Let’s Encrypt, verlängert sich selbst
- Integration mit Azure OpenAI (GPT-4.1 im Beispiel, andere Modelle möglich)
- Eine Infrastructure-as-Code-Basis mit Terraform, die Sie versionieren, kopieren und im Disaster Recovery wiederherstellen können
Wichtig: Der erste Nutzer, dessen E-Mail mit WEBUI_ADMIN_EMAIL übereinstimmt, erhält beim ersten Login automatisch Admin-Rechte. Das ist kein Bug — das ist das Bootstrap-Pattern von Open WebUI.
Voraussetzungen
Bevor wir starten, brauchen Sie:
- Azure-Abonnement mit Rechten zum Anlegen von Ressourcen (Contributor auf Subscription- oder Resource-Group-Ebene reicht)
- Eine Domain oder Subdomain, die Sie auf die Azure-VM zeigen können (z.B.
ai.ihrefirma.de) - Terraform lokal installiert (mindestens 1.7)
- Azure CLI installiert und mit
az loginauthentifiziert - SSH-Key-Paar in
~/.ssh/id_rsa.pubund~/.ssh/id_rsa - Grundkenntnisse Kommandozeile, Azure, Linux
Zeitaufwand: 2-3 Stunden für die komplette Ersteinrichtung.
Teil 1: Azure-Infrastruktur mit Terraform
Terraform ermöglicht es, die komplette Infrastruktur als Code zu definieren. Wir deployen damit: Resource Group, VNet, Subnet, Public IP, NSG mit SSH/HTTP/HTTPS, eine Ubuntu-VM und den Azure-OpenAI-Service inklusive GPT-4.1-Deployment.
1.1 Terraform-Dateien anlegen
Erstellen Sie ein Projektverzeichnis und zwei Dateien.
providers.tf — Azure Provider konfigurieren. Ersetzen Sie SUBSCRIPTION_ID_HIER mit Ihrer Azure-Subscription-ID (bekommen Sie via az account show --query id -o tsv):
variable "subscription_id" {
default = "SUBSCRIPTION_ID_HIER"
}
terraform {
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "=4.37.0"
}
}
}
provider "azurerm" {
features {
resource_group {
prevent_deletion_if_contains_resources = false
}
}
subscription_id = var.subscription_id
}
main.tf — die eigentliche Infrastruktur. Das ist der längste Teil, dafür läuft danach alles mit einem Befehl:
variable "location" { default = "westeurope" }
variable "admin_username" { default = "azureuser" }
variable "ssh_public_key_path" { default = "~/.ssh/id_rsa.pub" }
# Resource Group
resource "azurerm_resource_group" "main" {
name = "rg-openwebui"
location = var.location
}
# Network
resource "azurerm_virtual_network" "main" {
name = "vnet-openwebui"
address_space = ["10.0.0.0/16"]
location = azurerm_resource_group.main.location
resource_group_name = azurerm_resource_group.main.name
}
resource "azurerm_subnet" "main" {
name = "subnet-openwebui"
resource_group_name = azurerm_resource_group.main.name
virtual_network_name = azurerm_virtual_network.main.name
address_prefixes = ["10.0.1.0/24"]
}
resource "azurerm_public_ip" "main" {
name = "pip-openwebui"
location = azurerm_resource_group.main.location
resource_group_name = azurerm_resource_group.main.name
allocation_method = "Static"
}
# Security
resource "azurerm_network_security_group" "main" {
name = "nsg-openwebui"
location = azurerm_resource_group.main.location
resource_group_name = azurerm_resource_group.main.name
security_rule {
name = "SSH"
priority = 100
direction = "Inbound"
access = "Allow"
protocol = "Tcp"
source_port_range = "*"
destination_port_range = "22"
source_address_prefix = "*"
destination_address_prefix = "*"
}
security_rule {
name = "HTTP"
priority = 110
direction = "Inbound"
access = "Allow"
protocol = "Tcp"
source_port_range = "*"
destination_port_range = "80"
source_address_prefix = "*"
destination_address_prefix = "*"
}
security_rule {
name = "HTTPS"
priority = 120
direction = "Inbound"
access = "Allow"
protocol = "Tcp"
source_port_range = "*"
destination_port_range = "443"
source_address_prefix = "*"
destination_address_prefix = "*"
}
}
resource "azurerm_network_interface" "main" {
name = "nic-openwebui"
location = azurerm_resource_group.main.location
resource_group_name = azurerm_resource_group.main.name
ip_configuration {
name = "internal"
subnet_id = azurerm_subnet.main.id
private_ip_address_allocation = "Dynamic"
public_ip_address_id = azurerm_public_ip.main.id
}
}
resource "azurerm_network_interface_security_group_association" "main" {
network_interface_id = azurerm_network_interface.main.id
network_security_group_id = azurerm_network_security_group.main.id
}
# VM
resource "azurerm_linux_virtual_machine" "main" {
name = "vm-openwebui"
resource_group_name = azurerm_resource_group.main.name
location = azurerm_resource_group.main.location
size = "Standard_B4ms"
admin_username = var.admin_username
disable_password_authentication = true
network_interface_ids = [azurerm_network_interface.main.id]
admin_ssh_key {
username = var.admin_username
public_key = file(var.ssh_public_key_path)
}
os_disk {
caching = "ReadWrite"
storage_account_type = "Standard_LRS"
disk_size_gb = 100
name = "osdisk-vm-openwebui"
}
source_image_reference {
publisher = "Canonical"
offer = "ubuntu-24_04-lts"
sku = "server"
version = "latest"
}
}
# Azure OpenAI
resource "random_string" "suffix" {
length = 6
special = false
upper = false
}
resource "azurerm_cognitive_account" "openai" {
name = "openai-${random_string.suffix.result}"
location = azurerm_resource_group.main.location
resource_group_name = azurerm_resource_group.main.name
kind = "OpenAI"
sku_name = "S0"
custom_subdomain_name = "openai-${random_string.suffix.result}"
}
resource "azurerm_cognitive_deployment" "gpt4" {
name = "gpt-4"
cognitive_account_id = azurerm_cognitive_account.openai.id
model {
format = "OpenAI"
name = "gpt-4.1"
version = "2025-04-14"
}
sku {
name = "GlobalStandard"
capacity = 5000
}
}
# Outputs
output "public_ip" { value = azurerm_public_ip.main.ip_address }
output "ssh_command" { value = "ssh ${var.admin_username}@${azurerm_public_ip.main.ip_address}" }
output "openai_endpoint" { value = azurerm_cognitive_account.openai.endpoint; sensitive = true }
output "openai_key" { value = azurerm_cognitive_account.openai.primary_access_key; sensitive = true }
output "openai_deployment_name" { value = azurerm_cognitive_deployment.gpt4.name }
VM-Größe im Blick behalten: Standard_B4ms (4 vCPU, 16 GB RAM, burstable) kostet in West Europe rund 120 EUR/Monat und reicht für 50-100 aktive Nutzer locker aus. Wenn Sie Open WebUI als reinen Frontend-Proxy vor Azure OpenAI nutzen — also ohne lokale Embeddings oder Ollama-Modelle — geht auch ein Standard_B2ms.
1.2 Infrastruktur deployen
terraform init
terraform plan -out=tf.plan
terraform apply tf.plan
Nach 4-6 Minuten ist alles da. Notieren Sie sich die Ausgabewerte:
# Öffentliche IP der VM
terraform output public_ip
# Azure OpenAI Endpunkt
terraform output -raw openai_endpoint
# Azure OpenAI API-Key
terraform output -raw openai_key
# Deployment-Name (gpt-4)
terraform output openai_deployment_name
DNS-Eintrag jetzt setzen: Erstellen Sie einen A-Record von ai.ihrefirma.de auf die öffentliche IP. Ohne funktionierenden DNS-Eintrag wird Let’s Encrypt später kein Zertifikat ausstellen — das ist der häufigste Fehler in Schritt 3.
Teil 2: SSO mit Microsoft Entra ID konfigurieren
Single Sign-On ist der Grund, warum Open WebUI überhaupt enterprise-tauglich wird. Ihre Mitarbeiter melden sich mit ihrem Microsoft-365-Konto an, Sie steuern Zugriffe über Sicherheitsgruppen, und das Offboarding läuft automatisch mit.
2.1 App-Registrierung erstellen
Azure Portal → Microsoft Entra ID → App-Registrierungen → Neue Registrierung.
Nach dem Erstellen notieren Sie drei Werte von der Übersichtsseite:
- Anwendungs-ID → später
MICROSOFT_CLIENT_ID - Verzeichnis-ID → später
MICROSOFT_CLIENT_TENANT_ID - Umleitungs-URI → später
MICROSOFT_REDIRECT_URI
2.2 Client Secret erstellen
Zertifikate & Geheimnisse → Neuer geheimer Clientschlüssel.
Empfehlung: Gültigkeit auf 24 Monate setzen, nicht 6. Wir haben bei einem Kunden erlebt, dass ein 6-Monats-Secret an einem Freitagabend abgelaufen ist und 200 Mitarbeiter am Montag nicht arbeiten konnten. Das Secret bei der Erstellung sofort kopieren — es wird danach nie wieder angezeigt.
2.3 API-Berechtigungen setzen
API-Berechtigungen → Berechtigung hinzufügen → Microsoft Graph → Delegierte Berechtigungen:
openidprofileemail
Danach: Administratorzustimmung für [Tenant] erteilen. Ohne diesen Klick bekommen normale Nutzer beim ersten Login einen Fehler, weil sie die Berechtigungen nicht selbst bestätigen dürfen.
2.4 Sicherheitsgruppe anlegen
Nicht jeder im Unternehmen braucht Zugriff auf das KI-Tool. Legen Sie eine Sicherheitsgruppe an, über die Sie den Zugang steuern.
Microsoft Entra → Gruppen → Neue Gruppe:
- Typ: Sicherheit
- Name:
OpenWebUI-Users - Mitglieder hinzufügen (oder dynamische Mitgliedschaft nach Abteilung)
Dann zurück zur App-Registrierung: Verwaltete Anwendung in lokalem Verzeichnis → Benutzer und Gruppen → Gruppe zuweisen. Aktivieren Sie unter Eigenschaften der Enterprise Application die Option „Zuweisung erforderlich?“ — nur dann greift die Gruppenbeschränkung wirklich.
Teil 3: Server einrichten
Jetzt verbinden wir uns mit der VM und konfigurieren Docker, Open WebUI, Nginx und Let’s Encrypt.
3.1 Mit der VM verbinden
ssh azureuser@<öffentliche-ip-aus-schritt-1.2>
3.2 Docker installieren
# System aktualisieren
sudo apt update && sudo apt upgrade -y
# Neustart für Kernel-Updates
sudo reboot
# warten, dann wieder verbinden
ssh azureuser@
# Docker installieren
curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker $USER
# Neu anmelden damit die Gruppe wirkt
exit
ssh azureuser@
# Testen
docker ps
3.3 Eigenen Benutzer für Open WebUI
Wir lassen die Anwendung nicht unter azureuser, sondern unter einem eigenen Service-User laufen. Principle of Least Privilege:
sudo adduser openwebui
sudo usermod -aG docker openwebui
su - openwebui
docker ps # muss ohne sudo funktionieren
3.4 Konfigurations-Struktur anlegen
mkdir -p ~/openwebui/openwebui-deployment/nginx/{conf,templates}
mkdir -p ~/openwebui/openwebui-deployment/nginx/certbot/{www,conf}
cd ~/openwebui/openwebui-deployment
docker-compose.yml
services:
openwebui:
image: ghcr.io/open-webui/open-webui:main
user: "${HOST_UID}:${HOST_GID}"
restart: always
ports:
- "8080:8080"
extra_hosts:
- "host.docker.internal:host-gateway"
environment:
- WEBUI_URL=https://${DOMAIN}
- ENABLE_LOGIN_FORM=${ENABLE_LOGIN_FORM}
- WEBUI_NAME=${WEBUI_NAME}
- ENABLE_DIRECT_CONNECTIONS=${ENABLE_DIRECT_CONNECTIONS}
- ENABLE_EVALUATION_ARENA_MODELS=${ENABLE_EVALUATION_ARENA_MODELS}
- ENABLE_API_KEY=${ENABLE_API_KEY}
- JWT_EXPIRES_IN=${JWT_EXPIRES_IN}
- OFFLINE_MODE=${OFFLINE_MODE}
- CORS_ALLOW_ORIGIN=${CORS_ALLOW_ORIGIN}
- ENABLE_OAUTH_SIGNUP=${ENABLE_OAUTH_SIGNUP}
- OAUTH_MERGE_ACCOUNTS_BY_EMAIL=${OAUTH_MERGE_ACCOUNTS_BY_EMAIL}
- MICROSOFT_CLIENT_TENANT_ID=${MICROSOFT_CLIENT_TENANT_ID}
- MICROSOFT_CLIENT_ID=${MICROSOFT_CLIENT_ID}
- MICROSOFT_CLIENT_SECRET=${MICROSOFT_CLIENT_SECRET}
- MICROSOFT_REDIRECT_URI=${MICROSOFT_REDIRECT_URI}
- OAUTH_GROUP_CLAIM=${OAUTH_GROUP_CLAIM}
- ENABLE_OAUTH_GROUP_MANAGEMENT=${ENABLE_OAUTH_GROUP_MANAGEMENT}
- ENABLE_OAUTH_GROUP_CREATION=${ENABLE_OAUTH_GROUP_CREATION}
- WEBUI_SESSION_COOKIE_SECURE=${WEBUI_SESSION_COOKIE_SECURE}
- WEBUI_AUTH_COOKIE_SECURE=${WEBUI_AUTH_COOKIE_SECURE}
- WEBUI_SECRET_KEY=${WEBUI_SECRET_KEY}
volumes:
- ./open-webui-backend:/app/backend/data
nginx:
image: nginx:latest
restart: always
ports:
- "80:80"
- "443:443"
environment:
- DOMAIN=${DOMAIN}
volumes:
- ./nginx/templates/:/etc/nginx/templates/
- ./nginx/conf/nginx.conf:/etc/nginx/nginx.conf
- ./nginx/certbot/www/:/var/www/certbot/
- ./nginx/certbot/conf/:/etc/letsencrypt/
depends_on:
- openwebui
certbot:
image: certbot/certbot:latest
depends_on:
- nginx
command: >-
certonly --reinstall --webroot --webroot-path=/var/www/certbot
--email ${EMAIL} --agree-tos --no-eff-email -d ${DOMAIN}
volumes:
- ./nginx/certbot/conf/:/etc/letsencrypt/
- ./nginx/certbot/www/:/var/www/certbot/
.env
Erstellen Sie ~/openwebui/openwebui-deployment/.env:
# Microsoft Entra SSO
MICROSOFT_CLIENT_TENANT_ID=
MICROSOFT_CLIENT_ID=
MICROSOFT_CLIENT_SECRET=
MICROSOFT_REDIRECT_URI=https://ai.ihrefirma.de/oauth/microsoft/callback
# Open WebUI
WEBUI_NAME=Mein-WebUI
CORS_ALLOW_ORIGIN=https://ai.ihrefirma.de
WEBUI_SECRET_KEY=<32 Zeichen Zufalls-String: openssl rand -hex 16>
ENABLE_LOGIN_FORM=false
ENABLE_OAUTH_SIGNUP=true
OAUTH_MERGE_ACCOUNTS_BY_EMAIL=true
ENABLE_DIRECT_CONNECTIONS=true
ENABLE_EVALUATION_ARENA_MODELS=false
ENABLE_API_KEY=true
JWT_EXPIRES_IN=5h
OFFLINE_MODE=true
OAUTH_GROUP_CLAIM=groups
ENABLE_OAUTH_GROUP_MANAGEMENT=true
ENABLE_OAUTH_GROUP_CREATION=true
WEBUI_SESSION_COOKIE_SECURE=true
WEBUI_AUTH_COOKIE_SECURE=true
# Nginx / Let's Encrypt
DOMAIN=ai.ihrefirma.de
EMAIL=it-admin@ihrefirma.de
# Azure OpenAI
AZURE_API_KEY=
AZURE_API_BASE=
AZURE_API_DEPLOYMENT=gpt-4
AZURE_API_VERSION=2024-12-01-preview
Wichtig — diese Werte müssen präzise passen:
Nginx: Basis-Config
~/openwebui/openwebui-deployment/nginx/conf/nginx.conf:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 128;
sendfile on;
keepalive_timeout 65;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/templates/*.conf.template;
}
Nginx: Template für Let’s Encrypt Bootstrap
~/openwebui/openwebui-deployment/nginx/templates/app.conf.template:
server {
listen 80;
listen [::]:80;
server_name ${DOMAIN};
location /.well-known/acme-challenge/ {
root /var/www/certbot;
}
location / {
return 200 "Waiting for SSL setupn";
add_header Content-Type text/plain;
}
}
Jetzt Nginx temporär starten, um das Zertifikat zu beantragen:
docker compose up -d nginx
Test, ob der Webserver erreichbar ist:
curl http://ai.ihrefirma.de
# Erwartung: "Waiting for SSL setup"
curl http://ai.ihrefirma.de/.well-known/acme-challenge/test
# Erwartung: HTTP 404 (Pfad existiert, Datei nicht)
Wenn beides so aussieht, Zertifikat holen:
docker compose run --rm certbot
Prüfen, ob das Zertifikat da ist:
ls -la nginx/certbot/conf/live/ai.ihrefirma.de/
# sollte fullchain.pem, privkey.pem, chain.pem, cert.pem zeigen
Nginx: Template mit SSL-Redirect
Jetzt app.conf.template ersetzen:
server {
listen 80;
listen [::]:80;
server_name ${DOMAIN};
location /.well-known/acme-challenge/ {
root /var/www/certbot;
}
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
http2 on;
server_name ${DOMAIN};
ssl_certificate /etc/letsencrypt/live/${DOMAIN}/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/${DOMAIN}/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location ~ /.well-known/acme-challenge {
allow all;
root /var/www/certbot;
}
location / {
proxy_pass http://openwebui:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Config testen und alles starten:
docker compose exec nginx nginx -t
docker compose down
HOST_UID=$(id -u) HOST_GID=$(id -g) docker compose up -d
Öffnen Sie https://ai.ihrefirma.de im Browser — Sie werden zur Login-Seite von Open WebUI mit der Option „Mit Microsoft anmelden“ weitergeleitet. Der erste Login mit einer Admin-E-Mail macht den Nutzer automatisch zum Administrator.
Azure OpenAI in Open WebUI verbinden
Nach dem ersten Admin-Login: Admin-Panel → Settings → Connections → OpenAI API.
Speichern, Modell-Liste neu laden — gpt-4 erscheint als verfügbares Modell. Ab jetzt chatten Ihre Mitarbeiter mit GPT-4.1 über Ihren Azure-Tenant, mit Ihren Audit-Logs und Ihren DSGVO-Einstellungen.
Wann sich der Eigenbetrieb lohnt — und wann nicht
Unsere klare Empfehlung nach Kundenprojekten in Versicherung, Fertigung und Energie:
Lohnt sich: ab 100 aktiven Nutzern, mit SSO-Pflicht, bei sensiblen Daten (HR, Kundendaten, Konstruktionsunterlagen) oder wenn Sie ohnehin auf Azure OpenAI umsteigen müssen. Die 3-4 Stunden Ersteinrichtung amortisieren sich im ersten Monat.
Lohnt sich nicht: unter 50 Nutzern ohne Compliance-Anforderungen. Der Betriebsaufwand (Patches, Monitoring, Updates) übersteigt dann die Lizenzersparnis. Nehmen Sie ChatGPT Business oder Microsoft Copilot.
Pexon Consulting
Sie wollen wissen, wie das konkret für Ihr Unternehmen aussehen kann?
Jetzt persönliche Beratung vereinbaren
Kostenfreie Erstberatung
Häufig gestellte Fragen
Was kostet der Betrieb von Open WebUI auf Azure monatlich?
Für 100-200 Nutzer rechnen Sie mit rund 150-180 EUR Infrastruktur (VM + Public IP + Storage) plus dem variablen Azure-OpenAI-Token-Verbrauch. Bei durchschnittlicher Nutzung (5-10 Anfragen pro Nutzer pro Tag) landen die Token-Kosten bei 300-800 EUR/Monat. Gesamt also 450-1.000 EUR statt 12.000 EUR für ChatGPT Enterprise bei 200 Mitarbeitern.
Open WebUI Azure vs. ChatGPT Enterprise — was ist der ehrliche Unterschied?
ChatGPT Enterprise ist schneller aufgesetzt, hat ein besseres Mobile-Erlebnis und die OpenAI-eigenen Features (Canvas, Operator) kommen zuerst dort an. Open WebUI gibt Ihnen dafür volle Kontrolle über Modelle (auch Claude, Llama, eigene Embeddings), Daten bleiben in Ihrem Azure-Tenant, und die Kosten skalieren mit Verbrauch statt mit Nutzerzahl. Für regulierte Branchen ist Open WebUI fast immer die richtige Wahl.
Funktioniert das auch in Azure Germany West Central statt West Europe?
Ja, einfach location = "germanywestcentral" in main.tf setzen. Azure OpenAI ist in Germany West Central seit 2024 mit GPT-4o und GPT-4.1 verfügbar, die Latenz liegt 10-15 ms über West Europe. Für Kunden mit strikter Data-Residency-Anforderung (Versicherungsaufsicht, Betriebsrat) der sauberste Weg.
Wie migriere ich bestehende ChatGPT-Nutzer auf Open WebUI?
Nutzer können ihren bisherigen Chatverlauf aus ChatGPT exportieren und in Open WebUI importieren. Wichtiger ist der Systemumstieg: Kommunizieren Sie 2-3 Wochen vorher, bieten Sie ein 30-Minuten-Webinar an und lassen Sie Super-User in jeder Abteilung die Ersteinarbeitung übernehmen. Wir haben bei einem Versicherer 600 Nutzer in 4 Wochen migriert — der entscheidende Hebel war nicht das Tool, sondern ein gemeinsamer Prompt-Katalog für wiederkehrende Aufgaben.
Wie halte ich Open WebUI aktuell?
Das Image ghcr.io/open-webui/open-webui:main folgt dem Release-Branch. Updates holen Sie mit docker compose pull && docker compose up -d. Wir empfehlen, nicht auf main zu laufen, sondern auf :v0.6.x festzunageln und monatlich zu patchen — dann landet kein Breaking Change ungeplant in Produktion. Das Backend-Volume (./open-webui-backend) muss täglich gesichert werden, dort liegen alle Chats, Prompts und Nutzereinstellungen.
Nächster Schritt
Sie wollen Open WebUI auf Azure aufsetzen, aber ohne die 20 Edge Cases selbst zu erwischen (Shared Image Gallery, Private Endpoints, Group Claims mapping)? Wir haben dieses Setup in unterschiedlichen Varianten bei rund einem Dutzend Kunden deployt und können es in einem fixen Rahmen bei Ihnen produktiv stellen.
Shared Image Gallery, Private Endpoints, Group-Claims-Mapping, GPU-Sizing — wir haben dieses Setup bei rund einem Dutzend Kunden produktiv gestellt. Wir bauen Ihre Open-WebUI-Plattform auf Azure in einem fixen Rahmen auf und binden RAG auf Ihre Unternehmensdokumente an.
Verwandte Themen

