feat(k8s): searchx metasearch engine

This commit is contained in:
2026-06-11 02:52:03 +02:00
parent 37550da086
commit 51777f904f
5 changed files with 163 additions and 0 deletions
+11
View File
@@ -0,0 +1,11 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: searxng-config
namespace: searxng
data:
SEARXNG_BASE_URL: "https://s.forust.xyz"
SEARXNG_PORT: "8080"
SEARXNG_BIND_ADDRESS: "0.0.0.0"
SEARXNG_LIMITER: "true"
SEARXNG_VALKEY_URL: "valkey://searxng-valkey-service:6379/0"
+47
View File
@@ -0,0 +1,47 @@
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: searxng-prod
namespace: searxng
spec:
entryPoints:
- websecure
routes:
- match: Host(`s.forust.xyz`) || Host(`searxng.forust.xyz`)
kind: Rule
services:
- name: searxng-service
port: 8080
tls:
certResolver: letsencrypt
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: searxng-local
namespace: searxng
spec:
entryPoints:
- websecure
routes:
- match: Host(`s.workstation.internal`) || Host(`searxng.workstation.internal`)
kind: Rule
services:
- name: searxng-service
port: 8080
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: searxng-dev
namespace: searxng
spec:
entryPoints:
- websecure
routes:
- match: Host(`searxng.gigaforust.internal`)
kind: Rule
services:
- name: searxng-service
port: 8080
+4
View File
@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: searxng
+50
View File
@@ -0,0 +1,50 @@
apiVersion: v1
kind: Service
metadata:
name: searxng-service
namespace: searxng
spec:
selector:
app: searxng
ports:
- port: 8080
targetPort: 8080
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: searxng-deployment
namespace: searxng
spec:
replicas: 1
selector:
matchLabels:
app: searxng
template:
metadata:
labels:
app: searxng
spec:
containers:
- name: searxng
image: docker.io/searxng/searxng:latest
envFrom:
- configMapRef:
name: searxng-config
- secretRef:
name: searxng-secrets
ports:
- containerPort: 8080
volumeMounts:
- name: cache
mountPath: /var/cache/searxng
resources:
requests:
memory: "300Mi"
cpu: "30m"
limits:
memory: "700Mi"
cpu: "500m"
volumes:
- name: cache
emptyDir: {}
+51
View File
@@ -0,0 +1,51 @@
apiVersion: v1
kind: Service
metadata:
name: searxng-valkey-service
namespace: searxng
spec:
clusterIP: None
selector:
app: searxng-valkey
ports:
- port: 6379
targetPort: 6379
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: searxng-valkey-statefulset
namespace: searxng
spec:
serviceName: searxng-valkey-service
replicas: 1
selector:
matchLabels:
app: searxng-valkey
template:
metadata:
labels:
app: searxng-valkey
spec:
containers:
- name: valkey
image: docker.io/valkey/valkey:9-alpine
command:
- valkey-server
- --save
- "30 1"
- --loglevel
- warning
ports:
- containerPort: 6379
volumeMounts:
- name: valkey-data
mountPath: /data
volumeClaimTemplates:
- metadata:
name: valkey-data
spec:
accessModes: ["ReadWriteOnce"]
resources:
requests:
storage: 1Gi