Closing the command-center security queue #70/#71/#72/#73/#74: rolling tags let a rebuild move under a running service with nobody approving it, and make a CVE audit ungradeable. 36 quadlet units across dankclaw, dankserver and frankbook-pro now carry tag@sha256; localhost/* builds stay exempt (their build is the pin). The pihole and copyparty pins pull the fixed builds; valkey 9.1.2 (already running) and redis 7.4.11 are pinned in place, vendor fixes TBD. New gate tests/quadlet_image_pins.bats: no unpinned registry image, no generator-rejected key anywhere. Three seams that pinned the old exact-tag law (frankbook readarr, open_webui, seerr) now require tag AND digest - strictly stronger. Quadlet Lifecycle docs: batch-abort law, entrypoint flags-only law, pin law.
29 lines
917 B
INI
29 lines
917 B
INI
# Quadlet unit: Valkey cache for SearXNG (rootless, boot-persistent).
|
|
#
|
|
# Install path on dankclaw: ~/.config/containers/systemd/searxng-valkey.container
|
|
# Unit name: searxng-valkey.service (container name: searxng-valkey)
|
|
#
|
|
# The limiter's rate-limit state store. Joins the searxng network and is
|
|
# reachable by the name "valkey" (settings.yml points there). Data persists in
|
|
# /opt/searxng/valkey. See serverAppConfigs-docs/Dankclaw/Valkey.md.
|
|
|
|
[Unit]
|
|
Description=SearXNG Valkey cache container
|
|
Wants=searxng-network.service
|
|
After=searxng-network.service network.target
|
|
|
|
[Container]
|
|
ContainerName=searxng-valkey
|
|
Network=searxng.network
|
|
NetworkAlias=valkey
|
|
Image=docker.io/valkey/valkey:9-alpine@sha256:48332870af354a799964c0012ae1194a0bf2bf894eb508f945810596dc2d8d11
|
|
Volume=/opt/searxng/valkey:/data
|
|
|
|
[Service]
|
|
EnvironmentFile=/opt/searxng/.env
|
|
TimeoutStartSec=900
|
|
Restart=always
|
|
|
|
[Install]
|
|
WantedBy=default.target
|