Open WebUI's integration with Shakudo's operating system enables seamless deployment and management alongside your entire AI toolkit. The platform's offline capabilities and support for various LLM runners are enhanced through Shakudo's infrastructure, which provides enterprise-grade security and unified access control while maintaining the flexibility to run entirely within your VPC. The integration automatically handles complex configurations and dependencies, making it immediately productive within your existing AI ecosystem.
While Open WebUI traditionally requires significant setup and maintenance effort for enterprise deployment, Shakudo's infrastructure automation eliminates these hurdles completely. Teams can focus on leveraging Open WebUI's extensible features for their AI workflows rather than wrestling with deployment, security, and integration challenges.
Most importantly, as Open WebUI evolves and new LLM runners emerge, Shakudo's operating system ensures your implementation stays current without disruptive changes. This future-proofing aspect, combined with Shakudo's expert guidance and infrastructure automation, transforms what would typically be a months-long integration project into a weeks-long deployment that delivers immediate business value while maintaining enterprise-grade security and compliance standards.
This runbook is for the Shakudo-managed deployment path for OpenWebUI in a customer environment. It is written as public-facing guidance and avoids customer-specific hostnames, private cluster details, or real secrets.
export OPENWEBUI_NAMESPACE="openwebui"
export OPENWEBUI_RELEASE="openwebui"
export OPENWEBUI_HOST="<openwebui-subdomain>.<customer-domain>"
export STORAGE_CLASS="<storage-class>"
kubectl create namespace "$OPENWEBUI_NAMESPACE" --dry-run=client -o yaml > namespace.yaml
kubectl -n "$OPENWEBUI_NAMESPACE" create secret generic openwebui-secrets --from-literal=OPENWEBUI_SECRET_KEY="<session-secret>" --from-literal=LITELLM_BASE_URL="<litellm-base-url>" --from-literal=LITELLM_API_KEY="<litellm-api-key>" --dry-run=client -o yaml > openwebui-secrets.yaml
cat > openwebui-values.yaml <<'EOF'
image:
repository: <approved-openwebui-image-repository>
tag: <version>
service:
type: ClusterIP
port: 8080
ingress:
enabled: true
host: <openwebui-subdomain>.<customer-domain>
tls: true
auth:
mode: shakudo
integrations:
litellm:
enabled: true
existingSecret: openwebui-secrets
persistence:
enabled: true
storageClass: <storage-class>
size: 10Gi
EOF
kubectl apply -f namespace.yaml
kubectl apply -f openwebui-secrets.yaml
helm upgrade --install "$OPENWEBUI_RELEASE" <openwebui-chart> --namespace "$OPENWEBUI_NAMESPACE" --values openwebui-values.yaml
kubectl -n "$OPENWEBUI_NAMESPACE" rollout status deploy/openwebui --timeout=300s
kubectl -n "$OPENWEBUI_NAMESPACE" get pods
kubectl -n "$OPENWEBUI_NAMESPACE" get svc
kubectl -n "$OPENWEBUI_NAMESPACE" get ingress
kubectl -n "$OPENWEBUI_NAMESPACE" logs deploy/openwebui --tail=100
# Validate from Shakudo:
# 1. Log into Shakudo
# 2. Open Stack Components
# 3. Launch OpenWebUI
# 4. Confirm the route opens with Shakudo-managed authentication
curl -I "https://$OPENWEBUI_HOST"
# In OpenWebUI, select an approved model and run a simple prompt.
# Confirm a response is returned and check logs if model access fails.
kubectl -n "$OPENWEBUI_NAMESPACE" logs deploy/openwebui --tail=100
helm -n "$OPENWEBUI_NAMESPACE" history "$OPENWEBUI_RELEASE"
helm -n "$OPENWEBUI_NAMESPACE" rollback "$OPENWEBUI_RELEASE" <revision>
# If this was a first deployment and rollback is not applicable:
# helm -n "$OPENWEBUI_NAMESPACE" uninstall "$OPENWEBUI_RELEASE"