apiVersion: v1 kind: Namespace metadata: name: searxng --- apiVersion: apps/v1 kind: Deployment metadata: name: searxng namespace: searxng spec: replicas: 1 selector: matchLabels: app: searxng template: metadata: labels: app: searxng spec: containers: - name: searxng image: searxng/searxng:latest imagePullPolicy: IfNotPresent ports: - containerPort: 8080 name: http env: # THE ANONYMITY BASE: Points SearXNG to your local LAN domain routing - name: SEARXNG_BASE_URL value: "https://needlestack.boo" # SECURITY CRITICAL: Paste your unique openssl output string right here - name: SEARXNG_SECRET_KEY value: "0f73d2a5cb68e8ad5827d7584508c78276ebfcf391a9fb74deada8cc04fcaa71" resources: requests: memory: "256Mi" cpu: "100m" limits: memory: "512Mi" cpu: "1" --- apiVersion: v1 kind: Service metadata: name: searxng-service namespace: searxng spec: ports: - port: 80 protocol: TCP targetPort: 8080 selector: app: searxng type: ClusterIP --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: searxng-local-ingress namespace: searxng annotations: cert-manager.io/cluster-issuer: "letsencrypt-production" nginx.ingress.kubernetes.io/backend-protocol: "HTTP" spec: ingressClassName: nginx tls: - secretName: searxng-tls-secret hosts: - search.needlestack.boo rules: - host: search.needlestack.boo http: paths: - path: / pathType: Prefix backend: service: name: searxng-service port: number: 80