final attempt before I give up for today
This commit is contained in:
+30
-29
@@ -1,39 +1,40 @@
|
|||||||
image:
|
image:
|
||||||
repository: ghcr.io/open-webui/open-webui
|
repository: ghcr.io/open-webui/open-webui
|
||||||
tag: "main"
|
tag: "main"
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
|
|
||||||
service:
|
service:
|
||||||
type: ClusterIP # use Ingress for external access
|
type: NodePort # use NodePort instead of ClusterIP so openwebui is accessible externally
|
||||||
|
nodePort: 30400
|
||||||
|
|
||||||
persistence:
|
persistence:
|
||||||
enabled: true
|
enabled: true
|
||||||
size: 5Gi
|
size: 5Gi
|
||||||
|
|
||||||
ingress:
|
ingress:
|
||||||
enabled: true # expose via nginx ingress
|
enabled: false # disable ingress since we'll use NodePort
|
||||||
className: nginx
|
className: nginx
|
||||||
hosts:
|
hosts:
|
||||||
- host: openwebui.local
|
- host: openwebui.local
|
||||||
paths:
|
paths:
|
||||||
- path: /
|
- path: /
|
||||||
pathType: Prefix
|
pathType: Prefix
|
||||||
tls: [] # no https for local/minikube
|
tls: [] # no https for local/minikube
|
||||||
|
|
||||||
# NO SECRETS!!!
|
# NO SECRETS!!!
|
||||||
extraEnvVars:
|
extraEnvVars:
|
||||||
- name: OLLAMA_BASE_URL
|
- name: OLLAMA_BASE_URL
|
||||||
value: "https://mlep.ion606.com"
|
value: "https://mlep.ion606.com"
|
||||||
# postgres === primary db
|
# postgres === primary db
|
||||||
- name: DATABASE_URL
|
- name: DATABASE_URL
|
||||||
value: "postgresql://postgres:mypassword@postgresql-primary.ai.svc.cluster.local:5432/openwebui"
|
value: "postgresql://postgres:mypassword@postgresql-primary.ai.svc.cluster.local:5432/openwebui"
|
||||||
# store vectors in pgvector (on the same postgres)
|
# store vectors in pgvector (on the same postgres)
|
||||||
- name: VECTOR_DB
|
- name: VECTOR_DB
|
||||||
value: "pgvector"
|
value: "pgvector"
|
||||||
- name: PGVECTOR_DB_URL
|
- name: PGVECTOR_DB_URL
|
||||||
value: "postgresql://postgres:mypassword@postgresql-primary.ai.svc.cluster.local:5432/openwebui"
|
value: "postgresql://postgres:mypassword@postgresql-primary.ai.svc.cluster.local:5432/openwebui"
|
||||||
- name: PGVECTOR_CREATE_EXTENSION
|
- name: PGVECTOR_CREATE_EXTENSION
|
||||||
value: "true"
|
value: "true"
|
||||||
# no bish
|
# no bish
|
||||||
# - name: WEBUI_URL
|
# - name: WEBUI_URL
|
||||||
# value: "http://openwebui.local"
|
# value: "http://openwebui.local"
|
||||||
+15
-14
@@ -1,20 +1,21 @@
|
|||||||
image:
|
image:
|
||||||
repository: searxng/searxng
|
repository: searxng/searxng
|
||||||
tag: "latest"
|
tag: "latest"
|
||||||
|
|
||||||
service:
|
service:
|
||||||
type: NodePort # or ClusterIP if using ingress
|
type: NodePort # expose service externally
|
||||||
# nodePort: 30081
|
nodePort: 30081
|
||||||
|
|
||||||
ingress:
|
ingress:
|
||||||
enabled: false
|
enabled: false
|
||||||
className: nginx
|
className: nginx
|
||||||
hosts:
|
hosts:
|
||||||
- host: searxng.local
|
- host: searxng.local
|
||||||
paths:
|
paths:
|
||||||
- path: /
|
- path: /
|
||||||
pathType: Prefix
|
pathType: Prefix
|
||||||
|
|
||||||
# env:
|
# env:
|
||||||
# SEARXNG_SECRET: "please-change-me"
|
# SEARXNG_SECRET: "please-change-me"
|
||||||
# # helps with URL generation & results links
|
# # helps with URL generation & results links
|
||||||
# BASE_URL: "http://searxng.local/"
|
# BASE_URL: "http://searxng.local/"
|
||||||
@@ -2,39 +2,38 @@ apiVersion: apps/v1
|
|||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata: { name: browser, namespace: ai }
|
metadata: { name: browser, namespace: ai }
|
||||||
spec:
|
spec:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
selector: { matchLabels: { app: browser } }
|
selector: { matchLabels: { app: browser } }
|
||||||
template:
|
template:
|
||||||
metadata: { labels: { app: browser } }
|
metadata: { labels: { app: browser } }
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: browser
|
- name: browser
|
||||||
image: docker.io/ion606/browser:latest
|
image: docker.io/ion606/browser:latest
|
||||||
ports: [{ containerPort: 7788 }]
|
ports: [{ containerPort: 7788 }]
|
||||||
env:
|
env:
|
||||||
- { name: WEBUI_IP, value: "0.0.0.0" }
|
- { name: WEBUI_IP, value: "0.0.0.0" }
|
||||||
- { name: WEBUI_PORT, value: "7788" }
|
- { name: WEBUI_PORT, value: "7788" }
|
||||||
resources:
|
resources:
|
||||||
requests: { cpu: "250m", memory: "256Mi" }
|
requests: { cpu: "250m", memory: "256Mi" }
|
||||||
limits: { cpu: "1", memory: "1Gi" } # hard cap
|
limits: { cpu: "1", memory: "1Gi" } # hard cap
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
{
|
httpGet: { path: "/", port: 7788 }
|
||||||
httpGet: { path: "/", port: 7788 },
|
initialDelaySeconds: 5
|
||||||
initialDelaySeconds: 5,
|
periodSeconds: 10
|
||||||
periodSeconds: 10,
|
livenessProbe:
|
||||||
}
|
httpGet: { path: "/", port: 7788 }
|
||||||
livenessProbe:
|
initialDelaySeconds: 15
|
||||||
{
|
periodSeconds: 20
|
||||||
httpGet: { path: "/", port: 7788 },
|
|
||||||
initialDelaySeconds: 15,
|
|
||||||
periodSeconds: 20,
|
|
||||||
}
|
|
||||||
|
|
||||||
---
|
---
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata: { name: browser, namespace: ai }
|
metadata: { name: browser, namespace: ai }
|
||||||
spec:
|
spec:
|
||||||
selector: { app: browser }
|
selector: { app: browser }
|
||||||
ports: [{ name: http, port: 7788, targetPort: 7788 }]
|
ports:
|
||||||
type: ClusterIP
|
- name: http
|
||||||
|
port: 7788
|
||||||
|
targetPort: 7788
|
||||||
|
nodePort: 30788
|
||||||
|
type: NodePort
|
||||||
@@ -14,23 +14,18 @@ spec:
|
|||||||
ports: [{ containerPort: 8787 }]
|
ports: [{ containerPort: 8787 }]
|
||||||
env:
|
env:
|
||||||
- { name: PORT, value: "8787" }
|
- { name: PORT, value: "8787" }
|
||||||
- {
|
- name: NAMESPACE
|
||||||
name: NAMESPACE,
|
valueFrom:
|
||||||
valueFrom:
|
fieldRef:
|
||||||
{ fieldRef: { fieldPath: metadata.namespace } },
|
fieldPath: metadata.namespace
|
||||||
}
|
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
{
|
httpGet: { path: "/openapi.json", port: 8787 }
|
||||||
httpGet: { path: "/openapi.json", port: 8787 },
|
initialDelaySeconds: 5
|
||||||
initialDelaySeconds: 5,
|
periodSeconds: 10
|
||||||
periodSeconds: 10,
|
|
||||||
}
|
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
{
|
httpGet: { path: "/openapi.json", port: 8787 }
|
||||||
httpGet: { path: "/openapi.json", port: 8787 },
|
initialDelaySeconds: 15
|
||||||
initialDelaySeconds: 15,
|
periodSeconds: 20
|
||||||
periodSeconds: 20,
|
|
||||||
}
|
|
||||||
resources:
|
resources:
|
||||||
requests: { cpu: "100m", memory: "128Mi" }
|
requests: { cpu: "100m", memory: "128Mi" }
|
||||||
limits: { cpu: "500m", memory: "512Mi" }
|
limits: { cpu: "500m", memory: "512Mi" }
|
||||||
@@ -40,5 +35,9 @@ kind: Service
|
|||||||
metadata: { name: coderunner, namespace: ai }
|
metadata: { name: coderunner, namespace: ai }
|
||||||
spec:
|
spec:
|
||||||
selector: { app: coderunner }
|
selector: { app: coderunner }
|
||||||
ports: [{ name: http, port: 8787, targetPort: 8787 }]
|
ports:
|
||||||
type: ClusterIP
|
- name: http
|
||||||
|
port: 8787
|
||||||
|
targetPort: 8787
|
||||||
|
nodePort: 31787
|
||||||
|
type: NodePort
|
||||||
|
|||||||
@@ -20,12 +20,10 @@ spec:
|
|||||||
- { name: OLLAMA_CHAT_MODEL, value: "llama3.1" }
|
- { name: OLLAMA_CHAT_MODEL, value: "llama3.1" }
|
||||||
- { name: OLLAMA_EMBED_MODEL, value: "nomic-embed-text" }
|
- { name: OLLAMA_EMBED_MODEL, value: "nomic-embed-text" }
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
{ httpGet: { path: "/openapi.json", port: 8788 } }
|
httpGet: { path: "/openapi.json", port: 8788 }
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
{
|
httpGet: { path: "/", port: 8788 }
|
||||||
httpGet: { path: "/", port: 8788 },
|
initialDelaySeconds: 10
|
||||||
initialDelaySeconds: 10,
|
|
||||||
}
|
|
||||||
resources:
|
resources:
|
||||||
requests: { cpu: "200m", memory: "256Mi" }
|
requests: { cpu: "200m", memory: "256Mi" }
|
||||||
limits: { cpu: "1", memory: "1Gi" }
|
limits: { cpu: "1", memory: "1Gi" }
|
||||||
@@ -35,5 +33,9 @@ kind: Service
|
|||||||
metadata: { name: rag-server, namespace: ai }
|
metadata: { name: rag-server, namespace: ai }
|
||||||
spec:
|
spec:
|
||||||
selector: { app: rag-server }
|
selector: { app: rag-server }
|
||||||
ports: [{ name: http, port: 8788, targetPort: 8788 }]
|
ports:
|
||||||
type: ClusterIP
|
- name: http
|
||||||
|
port: 8788
|
||||||
|
targetPort: 8788
|
||||||
|
nodePort: 31788
|
||||||
|
type: NodePort
|
||||||
|
|||||||
@@ -2,34 +2,36 @@ apiVersion: apps/v1
|
|||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata: { name: tools, namespace: ai }
|
metadata: { name: tools, namespace: ai }
|
||||||
spec:
|
spec:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
selector: { matchLabels: { app: tools } }
|
selector: { matchLabels: { app: tools } }
|
||||||
template:
|
template:
|
||||||
metadata: { labels: { app: tools } }
|
metadata: { labels: { app: tools } }
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: tools
|
- name: tools
|
||||||
image: docker.io/ion606/tools:latest
|
image: docker.io/ion606/tools:latest
|
||||||
ports: [{ containerPort: 1331 }]
|
ports: [{ containerPort: 1331 }]
|
||||||
env:
|
env:
|
||||||
- { name: HOST, value: "0.0.0.0" }
|
- { name: HOST, value: "0.0.0.0" }
|
||||||
- { name: PORT, value: "1331" }
|
- { name: PORT, value: "1331" }
|
||||||
- { name: ROKU_IP, value: "192.0.2.10" }
|
- { name: ROKU_IP, value: "192.0.2.10" }
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
{ httpGet: { path: "/roku/openapi.json", port: 1331 } }
|
httpGet: { path: "/roku/openapi.json", port: 1331 }
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
{
|
httpGet: { path: "/roku/openapi.json", port: 1331 }
|
||||||
httpGet: { path: "/roku/openapi.json", port: 1331 },
|
initialDelaySeconds: 10
|
||||||
initialDelaySeconds: 10,
|
resources:
|
||||||
}
|
requests: { cpu: "100m", memory: "128Mi" }
|
||||||
resources:
|
limits: { cpu: "500m", memory: "512Mi" }
|
||||||
requests: { cpu: "100m", memory: "128Mi" }
|
|
||||||
limits: { cpu: "500m", memory: "512Mi" }
|
|
||||||
---
|
---
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
metadata: { name: tools, namespace: ai }
|
metadata: { name: tools, namespace: ai }
|
||||||
spec:
|
spec:
|
||||||
selector: { app: tools }
|
selector: { app: tools }
|
||||||
ports: [{ name: http, port: 1331, targetPort: 1331 }]
|
ports:
|
||||||
type: ClusterIP
|
- name: http
|
||||||
|
port: 1331
|
||||||
|
targetPort: 1331
|
||||||
|
nodePort: 31331
|
||||||
|
type: NodePort
|
||||||
Reference in New Issue
Block a user