add searxng

This commit is contained in:
DeveloperDurp 2026-01-18 06:46:37 -06:00
parent 04b638b8f9
commit a6437bb109
7 changed files with 206 additions and 0 deletions

27
dmz/searxng/Chart.yaml Normal file
View file

@ -0,0 +1,27 @@
apiVersion: v2
appVersion: latest
description: SearXNG is a free internet metasearch engine which aggregates results from various search services and databases.
name: searxng
version: 1.0.1
kubeVersion: ">=1.16.0-0"
keywords:
- searx
- searxng
- search engine
- privacy
icon: https://github.com/searxng/searxng/blob/master/searx/static/themes/simple/img/favicon.png?raw=true
sources:
- https://github.com/searxng/searxng
- https://docs.searxng.org
- https://hub.docker.com/r/searxng/searxng
maintainers:
- name: unixfox
email: searxng@unixfoxremovemeifyouwanttocontactme.eu
dependencies:
- name: common
repository: https://library-charts.k8s-at-home.com
version: 4.4.2
- name: redis
version: 0.0.3
repository: https://charts.pascaliske.dev
condition: redis.enabled

View file

@ -0,0 +1 @@
{{- include "common.notes.defaultNotes" . -}}

View file

@ -0,0 +1,17 @@
{{/* First Make sure all variables are set and merged properly */}}
{{- include "common.values.setup" . }}
{{/* Append the configMap volume to the volumes */}}
{{- define "searxng.settingsVolume" -}}
enabled: "true"
mountPath: "/etc/searxng/settings.yml"
subPath: "settings.yml"
type: "custom"
volumeSpec:
secret:
secretName: {{ include "common.names.fullname" . }}-config
{{- end -}}
{{- $_ := set .Values.persistence "searxng-config" (include "searxng.settingsVolume" . | fromYaml) -}}
{{/* Render the templates */}}
{{ include "common.all" . }}

View file

@ -0,0 +1,11 @@
{{- include "common.values.setup" . -}}
---
apiVersion: v1
kind: Secret
metadata:
name: {{ include "common.names.fullname" . }}-config
labels:
{{- include "common.labels" . | nindent 4 }}
data:
settings.yml: |-
{{ toYaml .Values.searxng.config | b64enc | indent 4 }}

View file

@ -0,0 +1,45 @@
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: searxng-ingress
spec:
entryPoints:
- websecure
routes:
- match: Host(`searxng.durp.info`) && PathPrefix(`/`)
kind: Rule
middlewares:
- name: authentik-proxy-provider
namespace: traefik
services:
- name: searxng
port: 3000
tls:
secretName: searxng-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: searxng-tls
spec:
secretName: searxng-tls
issuerRef:
name: letsencrypt-production
kind: ClusterIssuer
commonName: "searxng.durp.info"
dnsNames:
- "searxng.durp.info"
---
kind: Service
apiVersion: v1
metadata:
name: searxng-external-dns
annotations:
external-dns.alpha.kubernetes.io/hostname: searxng.durp.info
spec:
type: ExternalName
externalName: durp.info

83
dmz/searxng/values.yaml Normal file
View file

@ -0,0 +1,83 @@
#
# IMPORTANT NOTE
#
# This chart inherits from our common library chart. You can check the default values/options here:
# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml
#
image:
# -- image repository
repository: registry.durp.info/searxng/searxng
# -- image tag
tag: latest
# -- image pull policy
pullPolicy: Always
# Explanation about each environment variables here:
# https://docs.searxng.org/admin/installation-docker.html#command-line
env:
INSTANCE_NAME: "durp.info"
BASE_URL: "https://searx.durp.info"
AUTOCOMPLETE: "false"
# MORTY_URL: "http://morty:8080"
# MORTY_KEY: "mysecretkey"
# BIND_ADDRESS: "0.0.0.0:8080"
controller:
strategy: "RollingUpdate"
# -- Configures service settings for the chart.
# @default -- See values.yaml
service:
main:
ports:
http:
port: 8080
# -- Configure persistence settings for the chart under this key.
# @default -- See values.yaml
persistence:
config:
enabled: false
ingress:
# -- Enable and configure ingress settings for the chart under this key.
# @default -- See values.yaml
main:
enabled: false
searxng:
config:
use_default_settings: true
#server:
# secret_key: pleasechangeme
# Uncomment when using the builtin rate limiter
# See https://docs.searxng.org/src/searx.plugins.limiter.html#limiter-plugin
# server.limiter: true
# redis.url: redis://@searxng-redis:6379/0
probes:
readiness:
custom: true
spec:
httpGet:
path: /healthz
port: 8080
liveness:
custom: true
spec:
httpGet:
path: /healthz
port: 8080
startup:
custom: true
spec:
httpGet:
path: /healthz
port: 8080
# Enable when using searxng builtin rate limiter
# Values: https://github.com/pascaliske/helm-charts/tree/master/charts/redis
redis:
enabled: false