Converts the podman-compose SearXNG stack to boot-persistent quadlet units so
it survives a reboot (the compose deployment did not). searxng sets
Network=gluetun.container, which makes it reuse gluetun's network namespace so
outbound search traffic exits the WireGuard tunnel; it publishes no port of its
own (the port lives on gluetun). gluetun and valkey join a pinned searxng
network (10.89.2.0/24, DNS-enabled) so searxng reaches valkey by name.
Secrets stay in /opt/searxng/.env (mode 0600), referenced via [Service]
EnvironmentFile= so ${VAR} expands. Adds a bats seam asserting the netns
wiring, port placement, boot install, and that no secret material is tracked.
17 lines
743 B
SYSTEMD
17 lines
743 B
SYSTEMD
# Quadlet network: private bridge for the SearXNG stack (rootless).
|
|
#
|
|
# Install path on dankclaw: ~/.config/containers/systemd/searxng.network
|
|
# Unit name: searxng-network.service (podman network name: systemd-searxng)
|
|
#
|
|
# DNS is enabled by default for quadlet networks. This matters: the automatic
|
|
# "podman" default network has dns_enabled=false, so container names would not
|
|
# resolve. searxng (which reuses gluetun's netns) reaches valkey by the name
|
|
# "valkey" on this network.
|
|
#
|
|
# The subnet is pinned so the value stays stable across reboots. It must match
|
|
# an entry in shared/searxng/limiter.toml trusted_proxies. 10.89.2.0/24 is free
|
|
# (gitea uses 10.89.0.0/24; the old compose net used 10.89.1.0/24).
|
|
|
|
[Network]
|
|
Subnet=10.89.2.0/24
|