Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
chenpangpang
open-webui
Commits
384f79dc
Unverified
Commit
384f79dc
authored
Feb 24, 2024
by
Timothy Jaeryang Baek
Committed by
GitHub
Feb 24, 2024
Browse files
Merge branch 'main' into doc
parents
3bcfc7ca
261a53c8
Changes
33
Show whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
373 additions
and
113 deletions
+373
-113
backend/apps/rag/main.py
backend/apps/rag/main.py
+5
-5
backend/config.py
backend/config.py
+40
-5
backend/main.py
backend/main.py
+5
-1
backend/static/favicon.png
backend/static/favicon.png
+0
-0
kubernetes/helm/.helmignore
kubernetes/helm/.helmignore
+1
-0
kubernetes/helm/Chart.yaml
kubernetes/helm/Chart.yaml
+17
-1
kubernetes/helm/templates/_helpers.tpl
kubernetes/helm/templates/_helpers.tpl
+47
-0
kubernetes/helm/templates/ollama-namespace.yaml
kubernetes/helm/templates/ollama-namespace.yaml
+0
-4
kubernetes/helm/templates/ollama-service.yaml
kubernetes/helm/templates/ollama-service.yaml
+14
-6
kubernetes/helm/templates/ollama-statefulset.yaml
kubernetes/helm/templates/ollama-statefulset.yaml
+62
-21
kubernetes/helm/templates/webui-deployment.yaml
kubernetes/helm/templates/webui-deployment.yaml
+38
-14
kubernetes/helm/templates/webui-ingress.yaml
kubernetes/helm/templates/webui-ingress.yaml
+17
-7
kubernetes/helm/templates/webui-pvc.yaml
kubernetes/helm/templates/webui-pvc.yaml
+18
-5
kubernetes/helm/templates/webui-service.yaml
kubernetes/helm/templates/webui-service.yaml
+18
-9
kubernetes/helm/values-minikube.yaml
kubernetes/helm/values-minikube.yaml
+27
-0
kubernetes/helm/values.yaml
kubernetes/helm/values.yaml
+56
-28
kubernetes/manifest/base/webui-pvc.yaml
kubernetes/manifest/base/webui-pvc.yaml
+1
-1
kubernetes/manifest/kustomization.yaml
kubernetes/manifest/kustomization.yaml
+1
-0
src/app.css
src/app.css
+2
-2
src/lib/components/ChangelogModal.svelte
src/lib/components/ChangelogModal.svelte
+4
-4
No files found.
backend/apps/rag/main.py
View file @
384f79dc
...
...
@@ -423,7 +423,7 @@ def get_loader(filename: str, file_content_type: str, file_path: str):
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
,
]
or
file_ext
in
[
"xls"
,
"xlsx"
]:
loader
=
UnstructuredExcelLoader
(
file_path
)
elif
file_ext
in
known_source_ext
or
file_content_type
.
find
(
"text/"
)
>=
0
:
elif
file_ext
in
known_source_ext
or
(
file_content_type
and
file_content_type
.
find
(
"text/"
)
>=
0
)
:
loader
=
TextLoader
(
file_path
)
else
:
loader
=
TextLoader
(
file_path
)
...
...
@@ -486,8 +486,8 @@ def store_doc(
@
app
.
get
(
"/scan"
)
def
scan_docs_dir
(
user
=
Depends
(
get_admin_user
)):
try
:
for
path
in
Path
(
DOCS_DIR
).
rglob
(
"./**/*"
):
try
:
if
path
.
is_file
()
and
not
path
.
name
.
startswith
(
"."
):
tags
=
extract_folders_after_data_docs
(
path
)
filename
=
path
.
name
...
...
backend/config.py
View file @
384f79dc
import
os
import
chromadb
from
chromadb
import
Settings
from
secrets
import
token_bytes
from
base64
import
b64encode
from
constants
import
ERROR_MESSAGES
from
bs4
import
BeautifulSoup
from
pathlib
import
Path
import
json
import
markdown
from
bs4
import
BeautifulSoup
import
requests
import
shutil
from
secrets
import
token_bytes
from
constants
import
ERROR_MESSAGES
try
:
...
...
@@ -17,6 +21,8 @@ try:
except
ImportError
:
print
(
"dotenv not installed, skipping..."
)
WEBUI_NAME
=
"Open WebUI"
shutil
.
copyfile
(
"../build/favicon.png"
,
"./static/favicon.png"
)
####################################
# ENV (dev,test,prod)
...
...
@@ -24,7 +30,6 @@ except ImportError:
ENV
=
os
.
environ
.
get
(
"ENV"
,
"dev"
)
try
:
with
open
(
f
"../package.json"
,
"r"
)
as
f
:
PACKAGE_DATA
=
json
.
load
(
f
)
...
...
@@ -94,6 +99,36 @@ for version in soup.find_all("h2"):
CHANGELOG
=
changelog_json
####################################
# CUSTOM_NAME
####################################
CUSTOM_NAME
=
os
.
environ
.
get
(
"CUSTOM_NAME"
,
""
)
if
CUSTOM_NAME
:
try
:
r
=
requests
.
get
(
f
"https://api.openwebui.com/api/v1/custom/
{
CUSTOM_NAME
}
"
)
data
=
r
.
json
()
if
r
.
ok
:
if
"logo"
in
data
:
url
=
(
f
"https://api.openwebui.com
{
data
[
'logo'
]
}
"
if
data
[
"logo"
][
0
]
==
"/"
else
data
[
"logo"
]
)
r
=
requests
.
get
(
url
,
stream
=
True
)
if
r
.
status_code
==
200
:
with
open
(
"./static/favicon.png"
,
"wb"
)
as
f
:
r
.
raw
.
decode_content
=
True
shutil
.
copyfileobj
(
r
.
raw
,
f
)
WEBUI_NAME
=
data
[
"name"
]
except
Exception
as
e
:
print
(
e
)
pass
####################################
# DATA/FRONTEND BUILD DIR
####################################
...
...
@@ -187,7 +222,7 @@ DEFAULT_PROMPT_SUGGESTIONS = (
)
DEFAULT_USER_ROLE
=
"pending"
DEFAULT_USER_ROLE
=
os
.
getenv
(
"DEFAULT_USER_ROLE"
,
"pending"
)
USER_PERMISSIONS
=
{
"chat"
:
{
"deletion"
:
True
}}
...
...
backend/main.py
View file @
384f79dc
...
...
@@ -20,7 +20,7 @@ from apps.rag.main import app as rag_app
from
apps.web.main
import
app
as
webui_app
from
config
import
ENV
,
VERSION
,
CHANGELOG
,
FRONTEND_BUILD_DIR
from
config
import
WEBUI_NAME
,
ENV
,
VERSION
,
CHANGELOG
,
FRONTEND_BUILD_DIR
class
SPAStaticFiles
(
StaticFiles
):
...
...
@@ -72,6 +72,7 @@ async def get_app_config():
return
{
"status"
:
True
,
"name"
:
WEBUI_NAME
,
"version"
:
VERSION
,
"images"
:
images_app
.
state
.
ENABLED
,
"default_models"
:
webui_app
.
state
.
DEFAULT_MODELS
,
...
...
@@ -84,6 +85,9 @@ async def get_app_changelog():
return
CHANGELOG
app
.
mount
(
"/static"
,
StaticFiles
(
directory
=
"static"
),
name
=
"static"
)
app
.
mount
(
"/"
,
SPAStaticFiles
(
directory
=
FRONTEND_BUILD_DIR
,
html
=
True
),
...
...
backend/static/favicon.png
0 → 100644
View file @
384f79dc
6.02 KB
kubernetes/helm/.helmignore
View file @
384f79dc
values-minikube.yaml
kubernetes/helm/Chart.yaml
View file @
384f79dc
apiVersion
:
v2
name
:
open-webui
description
:
"
Open
WebUI:
A
User-Friendly
Web
Interface
for
Chat
Interactions
👋"
version
:
1.0.0
appVersion
:
"
latest"
home
:
https://www.openwebui.com/
icon
:
https://raw.githubusercontent.com/open-webui/open-webui/main/static/favicon.png
description
:
"
Open
WebUI:
A
User-Friendly
Web
Interface
for
Chat
Interactions
👋"
keywords
:
-
llm
-
chat
-
web-ui
sources
:
-
https://github.com/open-webui/open-webui/tree/main/kubernetes/helm
-
https://hub.docker.com/r/ollama/ollama
-
https://github.com/open-webui/open-webui/pkgs/container/open-webui
annotations
:
licenses
:
MIT
kubernetes/helm/templates/_helpers.tpl
0 → 100644
View file @
384f79dc
{{
-
define
"open-webui.name"
-
}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
{{- end -}}
{{- define "ollama.name" -}}
ollama
{{- end -}}
{{- define "ollama.url" -}}
{{- printf "http://%s.%s.svc.cluster.local:%d/api" (include "ollama.name" .) (.Release.Namespace) (.Values.ollama.service.port | int) }}
{{- end }}
{{- define "chart.name" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
{{- end }}
{{- define "base.labels" -}}
helm.sh/chart: {{ include "chart.name" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }}
{{- define "base.selectorLabels" -}}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
{{- define "open-webui.selectorLabels" -}}
{{ include "base.selectorLabels" . }}
app.kubernetes.io/component: {{ .Chart.Name }}
{{- end }}
{{- define "open-webui.labels" -}}
{{ include "base.labels" . }}
{{ include "open-webui.selectorLabels" . }}
{{- end }}
{{- define "ollama.selectorLabels" -}}
{{ include "base.selectorLabels" . }}
app.kubernetes.io/component: {{ include "ollama.name" . }}
{{- end }}
{{- define "ollama.labels" -}}
{{ include "base.labels" . }}
{{ include "ollama.selectorLabels" . }}
{{- end }}
kubernetes/helm/templates/ollama-namespace.yaml
deleted
100644 → 0
View file @
3bcfc7ca
apiVersion
:
v1
kind
:
Namespace
metadata
:
name
:
{{
.Values.namespace
}}
\ No newline at end of file
kubernetes/helm/templates/ollama-service.yaml
View file @
384f79dc
apiVersion
:
v1
kind
:
Service
metadata
:
name
:
ollama-service
namespace
:
{{
.Values.namespace
}}
name
:
{{
include "ollama.name" .
}}
labels
:
{{
- include "ollama.labels" . | nindent 4
}}
{{
- with .Values.ollama.service.annotations
}}
annotations
:
{{
- toYaml . | nindent 4
}}
{{
- end
}}
spec
:
type
:
{{
.Values.ollama.service.type
}}
selector
:
app
:
ollama
{{
- include "ollama.selectorLabels" . | nindent 4
}}
{{
- with .Values.ollama.service
}}
type
:
{{
.type
}}
ports
:
-
protocol
:
TCP
port
:
{{
.Values.ollama.servicePort
}}
targetPort
:
{{
.Values.ollama.servicePort
}}
\ No newline at end of file
name
:
http
port
:
{{
.port
}}
targetPort
:
http
{{
- end
}}
kubernetes/helm/templates/ollama-statefulset.yaml
View file @
384f79dc
apiVersion
:
apps/v1
kind
:
StatefulSet
metadata
:
name
:
ollama
namespace
:
{{
.Values.namespace
}}
name
:
{{
include "ollama.name" .
}}
labels
:
{{
- include "ollama.labels" . | nindent 4
}}
{{
- with .Values.ollama.annotations
}}
annotations
:
{{
- toYaml . | nindent 4
}}
{{
- end
}}
spec
:
serviceName
:
"
ollama"
serviceName
:
{{
include "ollama.name" .
}}
replicas
:
{{
.Values.ollama.replicaCount
}}
selector
:
matchLabels
:
app
:
ollama
{{
- include "ollama.selectorLabels" . | nindent 6
}}
template
:
metadata
:
labels
:
app
:
ollama
{{
- include "ollama.labels" . | nindent 8
}}
{{
- with .Values.ollama.podAnnotations
}}
annotations
:
{{
- toYaml . | nindent 8
}}
{{
- end
}}
spec
:
enableServiceLinks
:
false
automountServiceAccountToken
:
false
{{
- with .Values.ollama.runtimeClassName
}}
runtimeClassName
:
{{
.
}}
{{
- end
}}
containers
:
-
name
:
ollama
image
:
{{
.Values.ollama.image
}}
-
name
:
{{
include "ollama.name" .
}}
{{
- with .Values.ollama.image
}}
image
:
{{
.repository
}}
:{{ .tag }}
imagePullPolicy
:
{{
.pullPolicy
}}
{{
- end
}}
tty
:
true
ports
:
-
containerPort
:
{{
.Values.ollama.servicePort
}}
-
name
:
http
containerPort
:
{{
.Values.ollama.service.containerPort
}}
env
:
{{
- if .Values.ollama.gpu.enabled
}}
-
name
:
PATH
...
...
@@ -27,29 +46,51 @@ spec:
value
:
/usr/local/nvidia/lib:/usr/local/nvidia/lib64
-
name
:
NVIDIA_DRIVER_CAPABILITIES
value
:
compute,utility
{{
- end
}}
{{
-
if
.Values.ollama.resources
}}
resources
:
{{
- toYaml .
Values.ollama.resources
| nindent 10
}}
{{
- end
}}
{{
-
with
.Values.ollama.resources
}}
resources
:
{{
- toYaml . | nindent 10
}}
{{
- end
}}
volumeMounts
:
-
name
:
ollama-volume
-
name
:
data
mountPath
:
/root/.ollama
tty
:
true
{{
- with .Values.ollama.nodeSelector
}}
nodeSelector
:
{{
- toYaml . | nindent 8
}}
{{
- end
}}
{{
- with .Values.ollama.tolerations
}}
tolerations
:
{{
- if .Values.ollama.gpu.enabled
}}
-
key
:
nvidia.com/gpu
operator
:
Exists
effect
:
NoSchedule
{{
- toYaml . | nindent 8
}}
{{
- end
}}
volumes
:
{{
- if and .Values.ollama.persistence.enabled .Values.ollama.persistence.existingClaim
}}
-
name
:
data
persistentVolumeClaim
:
claimName
:
{{
.Values.ollama.persistence.existingClaim
}}
{{
- else if not .Values.ollama.persistence.enabled
}}
-
name
:
data
emptyDir
:
{}
{{
- else if and .Values.ollama.persistence.enabled (not .Values.ollama.persistence.existingClaim)
}}
[]
volumeClaimTemplates
:
-
metadata
:
name
:
ollama-volume
name
:
data
labels
:
{{
- include "ollama.selectorLabels" . | nindent 8
}}
{{
- with .Values.ollama.persistence.annotations
}}
annotations
:
{{
- toYaml . | nindent 8
}}
{{
- end
}}
spec
:
accessModes
:
[
"
ReadWriteOnce"
]
accessModes
:
{{
- range .Values.ollama.persistence.accessModes
}}
-
{{
. | quote
}}
{{
- end
}}
resources
:
requests
:
storage
:
{{
.Values.ollama.volumeSize
}}
\ No newline at end of file
storage
:
{{
.Values.ollama.persistence.size | quote
}}
storageClass
:
{{
.Values.ollama.persistence.storageClass
}}
{{
- with .Values.ollama.persistence.selector
}}
selector
:
{{
- toYaml . | nindent 8
}}
{{
- end
}}
{{
- end
}}
kubernetes/helm/templates/webui-deployment.yaml
View file @
384f79dc
apiVersion
:
apps/v1
kind
:
Deployment
metadata
:
name
:
open-webui-deployment
namespace
:
{{
.Values.namespace
}}
name
:
{{
include "open-webui.name" .
}}
labels
:
{{
- include "open-webui.labels" . | nindent 4
}}
{{
- with .Values.webui.annotations
}}
annotations
:
{{
- toYaml . | nindent 4
}}
{{
- end
}}
spec
:
replicas
:
1
replicas
:
{{
.Values.webui.replicaCount
}}
selector
:
matchLabels
:
app
:
open-webui
{{
- include "open-webui.selectorLabels" . | nindent 6
}}
template
:
metadata
:
labels
:
app
:
open-webui
{{
- include "open-webui.labels" . | nindent 8
}}
{{
- with .Values.webui.podAnnotations
}}
annotations
:
{{
- toYaml . | nindent 8
}}
{{
- end
}}
spec
:
enableServiceLinks
:
false
automountServiceAccountToken
:
false
containers
:
-
name
:
open-webui
image
:
{{
.Values.webui.image
}}
-
name
:
{{
.Chart.Name
}}
{{
- with .Values.webui.image
}}
image
:
{{
.repository
}}
:{{ .tag | default $.Chart.AppVersion }}
imagePullPolicy
:
{{
.pullPolicy
}}
{{
- end
}}
ports
:
-
containerPort
:
8080
{{
- if .Values.webui.resources
}}
resources
:
{{
- toYaml .Values.webui.resources | nindent 10
}}
-
name
:
http
containerPort
:
{{
.Values.webui.service.containerPort
}}
{{
- with .Values.webui.resources
}}
resources
:
{{
- toYaml . | nindent 10
}}
{{
- end
}}
volumeMounts
:
-
name
:
webui-volume
-
name
:
data
mountPath
:
/app/backend/data
env
:
-
name
:
OLLAMA_API_BASE_URL
value
:
"
http://ollama-service.{{
.Values.namespace
}}.svc.cluster.local:{{
.Values.ollama.servicePort
}}/api"
value
:
{{
include "ollama.url" . | quote
}}
tty
:
true
{{
- with .Values.webui.nodeSelector
}}
nodeSelector
:
{{
- toYaml . | nindent 8
}}
{{
- end
}}
volumes
:
-
name
:
webui-volume
{{
- if and .Values.webui.persistence.enabled .Values.webui.persistence.existingClaim
}}
-
name
:
data
persistentVolumeClaim
:
claimName
:
{{
.Values.webui.persistence.existingClaim
}}
{{
- else if not .Values.webui.persistence.enabled
}}
-
name
:
data
emptyDir
:
{}
{{
- else if and .Values.webui.persistence.enabled (not .Values.webui.persistence.existingClaim)
}}
-
name
:
data
persistentVolumeClaim
:
claimName
:
open-webui-pvc
\ No newline at end of file
claimName
:
{{
include "open-webui.name" .
}}
{{
- end
}}
kubernetes/helm/templates/webui-ingress.yaml
View file @
384f79dc
...
...
@@ -2,13 +2,23 @@
apiVersion
:
networking.k8s.io/v1
kind
:
Ingress
metadata
:
name
:
open-webui-ingress
namespace
:
{{
.Values.namespace
}}
{{
- if .Values.webui.ingress.annotations
}}
name
:
{{
include "open-webui.name" .
}}
labels
:
{{
- include "open-webui.labels" . | nindent 4
}}
{{
- with .Values.webui.ingress.annotations
}}
annotations
:
{{
toYaml .
Values.webui.ingress.annotations | trimSuffix "\n"
| indent 4
}}
{{
- end
}}
{{
-
toYaml . |
n
indent 4
}}
{{
- end
}}
spec
:
{{
- with .Values.webui.ingress.class
}}
ingressClassName
:
{{
.
}}
{{
- end
}}
{{
- if .Values.webui.ingress.tls
}}
tls
:
-
hosts
:
-
{{
.Values.webui.ingress.host | quote
}}
secretName
:
{{
default (printf "%s-tls" .Release.Name) .Values.webui.ingress.existingSecret
}}
{{
- end
}}
rules
:
-
host
:
{{
.Values.webui.ingress.host
}}
http
:
...
...
@@ -17,7 +27,7 @@ spec:
pathType
:
Prefix
backend
:
service
:
name
:
open-webui-service
name
:
{{
include "open-webui.name" .
}}
port
:
n
umber
:
{{
.Values.webui.servicePort
}}
n
ame
:
http
{{
- end
}}
kubernetes/helm/templates/webui-pvc.yaml
View file @
384f79dc
{{
- if and .Values.webui.persistence.enabled (not .Values.webui.persistence.existingClaim)
}}
apiVersion
:
v1
kind
:
PersistentVolumeClaim
metadata
:
name
:
{{
include "open-webui.name" .
}}
labels
:
app
:
open-webui
name
:
open-webui-pvc
namespace
:
{{
.Values.namespace
}}
{{
- include "open-webui.selectorLabels" . | nindent 4
}}
{{
- with .Values.webui.persistence.annotations
}}
annotations
:
{{
- toYaml . | nindent 8
}}
{{
- end
}}
spec
:
accessModes
:
[
"
ReadWriteOnce"
]
accessModes
:
{{
- range .Values.webui.persistence.accessModes
}}
-
{{
. | quote
}}
{{
- end
}}
resources
:
requests
:
storage
:
{{
.Values.webui.volumeSize
}}
\ No newline at end of file
storage
:
{{
.Values.webui.persistence.size
}}
storageClass
:
{{
.Values.webui.persistence.storageClass
}}
{{
- with .Values.webui.persistence.selector
}}
selector
:
{{
- toYaml . | nindent 4
}}
{{
- end
}}
{{
- end
}}
kubernetes/helm/templates/webui-service.yaml
View file @
384f79dc
apiVersion
:
v1
kind
:
Service
metadata
:
name
:
open-webui-service
namespace
:
{{
.Values.namespace
}}
name
:
{{
include "open-webui.name" .
}}
labels
:
{{
- include "open-webui.labels" . | nindent 4
}}
{{
- with .Values.webui.service.annotations
}}
annotations
:
{{
- toYaml . | nindent 4
}}
{{
- end
}}
spec
:
type
:
{{
.Values.webui.service.type
}}
# Default: NodePort # Use LoadBalancer if you're on a cloud that supports it
selector
:
app
:
open-webui
{{
- include "open-webui.selectorLabels" . | nindent 4
}}
{{
- with .Values.webui.service
}}
type
:
{{
.type
}}
ports
:
-
protocol
:
TCP
port
:
{{
.Values.webui.servicePort
}}
targetPort
:
{{
.Values.webui.servicePort
}}
# If using NodePort, you can optionally specify the nodePort:
# nodePort: 30000
\ No newline at end of file
name
:
http
port
:
{{
.port
}}
targetPort
:
http
{{
- if .nodePort
}}
nodePort
:
{{
.nodePort | int
}}
{{
- end
}}
{{
- end
}}
kubernetes/helm/values-minikube.yaml
0 → 100644
View file @
384f79dc
ollama
:
resources
:
requests
:
cpu
:
"
2000m"
memory
:
"
2Gi"
limits
:
cpu
:
"
4000m"
memory
:
"
4Gi"
nvidia.com/gpu
:
"
0"
service
:
type
:
ClusterIP
gpu
:
enabled
:
false
webui
:
resources
:
requests
:
cpu
:
"
500m"
memory
:
"
500Mi"
limits
:
cpu
:
"
1000m"
memory
:
"
1Gi"
ingress
:
enabled
:
true
host
:
open-webui.minikube.local
service
:
type
:
NodePort
kubernetes/helm/values.yaml
View file @
384f79dc
name
space
:
open-webui
name
Override
:
"
"
ollama
:
annotations
:
{}
podAnnotations
:
{}
replicaCount
:
1
image
:
ollama/ollama:latest
servicePort
:
11434
resources
:
requests
:
cpu
:
"
2000m"
memory
:
"
2Gi"
limits
:
cpu
:
"
4000m"
memory
:
"
4Gi"
nvidia.com/gpu
:
"
0"
volumeSize
:
30Gi
image
:
repository
:
ollama/ollama
tag
:
latest
pullPolicy
:
Always
resources
:
{}
persistence
:
enabled
:
true
size
:
30Gi
existingClaim
:
"
"
accessModes
:
-
ReadWriteOnce
storageClass
:
"
"
selector
:
{}
annotations
:
{}
nodeSelector
:
{}
tolerations
:
[]
# -- If using a special runtime container such as nvidia, set it here.
runtimeClassName
:
"
"
tolerations
:
-
key
:
nvidia.com/gpu
operator
:
Exists
effect
:
NoSchedule
service
:
type
:
ClusterIP
annotations
:
{}
port
:
80
containerPort
:
11434
gpu
:
# -- Enable additional ENV values to help Ollama discover GPU usage
enabled
:
false
webui
:
annotations
:
{}
podAnnotations
:
{}
replicaCount
:
1
image
:
ghcr.io/open-webui/open-webui:main
servicePort
:
8080
resources
:
requests
:
cpu
:
"
500m"
memory
:
"
500Mi"
limits
:
cpu
:
"
1000m"
memory
:
"
1Gi"
image
:
repository
:
ghcr.io/open-webui/open-webui
tag
:
"
"
pullPolicy
:
Always
resources
:
{}
ingress
:
enabled
:
tru
e
annotations
:
# Use appropriate annotations for your Ingress controller, e.g., for NGINX:
enabled
:
fals
e
class
:
"
"
#
--
Use appropriate annotations for your Ingress controller, e.g., for NGINX:
# nginx.ingress.kubernetes.io/rewrite-target: /
host
:
open-webui.minikube.local
volumeSize
:
2Gi
annotations
:
{}
host
:
"
"
tls
:
false
existingSecret
:
"
"
persistence
:
enabled
:
true
size
:
2Gi
existingClaim
:
"
"
# -- If using multiple replicas, you must update accessModes to ReadWriteMany
accessModes
:
-
ReadWriteOnce
storageClass
:
"
"
selector
:
{}
annotations
:
{}
nodeSelector
:
{}
tolerations
:
[]
service
:
type
:
NodePort
\ No newline at end of file
type
:
ClusterIP
annotations
:
{}
port
:
80
containerPort
:
8080
nodePort
:
"
"
kubernetes/manifest/base/webui-pvc.yaml
View file @
384f79dc
...
...
@@ -4,7 +4,7 @@ metadata:
labels
:
app
:
ollama-webui
name
:
ollama-webui-pvc
namespace
:
o
llama-namespace
namespace
:
o
pen-webui
spec
:
accessModes
:
[
"
ReadWriteOnce"
]
resources
:
...
...
kubernetes/manifest/kustomization.yaml
View file @
384f79dc
...
...
@@ -5,6 +5,7 @@ resources:
-
base/webui-deployment.yaml
-
base/webui-service.yaml
-
base/webui-ingress.yaml
-
base/webui-pvc.yaml
apiVersion
:
kustomize.config.k8s.io/v1beta1
kind
:
Kustomization
...
...
src/app.css
View file @
384f79dc
...
...
@@ -37,8 +37,8 @@ math {
}
::-webkit-scrollbar
{
height
:
0.4
5
rem
;
width
:
0.
35
rem
;
height
:
0.4rem
;
width
:
0.
4
rem
;
}
::-webkit-scrollbar-track
{
...
...
src/lib/components/ChangelogModal.svelte
View file @
384f79dc
...
...
@@ -2,9 +2,9 @@
import { onMount } from 'svelte';
import { Confetti } from 'svelte-confetti';
import { config } from '$lib/stores';
import {
WEBUI_NAME,
config } from '$lib/stores';
import { WEBUI_
NAME, WEB_UI_
VERSION } from '$lib/constants';
import { WEBUI_VERSION } from '$lib/constants';
import { getChangelog } from '$lib/apis';
import Modal from './common/Modal.svelte';
...
...
@@ -23,7 +23,7 @@
<div class="px-5 py-4 dark:text-gray-300">
<div class="flex justify-between items-start">
<div class="text-xl font-bold">
What’s New in {WEBUI_NAME}
What’s New in {
$
WEBUI_NAME}
<Confetti x={[-1, -0.25]} y={[0, 0.5]} />
</div>
<button
...
...
@@ -48,7 +48,7 @@
<div class="text-sm dark:text-gray-200">Release Notes</div>
<div class="flex self-center w-[1px] h-6 mx-2.5 bg-gray-200 dark:bg-gray-700" />
<div class="text-sm dark:text-gray-200">
v{WEB
_
UI_VERSION}
v{WEBUI_VERSION}
</div>
</div>
</div>
...
...
Prev
1
2
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment