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.
35 lines
1.3 KiB
INI
35 lines
1.3 KiB
INI
# Quadlet unit: Marreta browser companion — Lightpanda (rootless, boot-persistent).
|
|
#
|
|
# Install path on dankclaw: ~/.config/containers/systemd/marreta-browser.container
|
|
# Unit name: marreta-browser.service (container name: marreta_browser)
|
|
#
|
|
# Lightpanda is a headless browser that exposes the Chrome DevTools Protocol
|
|
# over a WebSocket on port 9222. Marreta drives it to render JS-heavy pages
|
|
# the plain curl fetch cannot. It shares gluetun's network namespace so the
|
|
# browser's OWN outbound fetches also exit the WireGuard tunnel — this is
|
|
# required because marreta's PROXY_URL only covers the curl strategy; the
|
|
# CDP session passes no proxy to the browser, so without netns sharing the
|
|
# browser would leak the host's real egress IP.
|
|
#
|
|
# Marreta reaches it on loopback (same netns): ws://127.0.0.1:9222. No
|
|
# published port — nothing outside the netns talks to it directly.
|
|
# See serverAppConfigs-docs/Dankclaw/Marreta.md.
|
|
|
|
[Unit]
|
|
Description=Marreta Lightpanda browser companion container
|
|
Wants=gluetun.service
|
|
After=gluetun.service network.target
|
|
|
|
[Container]
|
|
ContainerName=marreta_browser
|
|
Network=gluetun.container
|
|
Image=docker.io/lightpanda/browser:nightly@sha256:979c36ed869f1016b8dcf22939a0633c262f2c30e892a03a9f720eba2ff1931e
|
|
|
|
[Service]
|
|
TimeoutStartSec=300
|
|
Restart=always
|
|
RestartSec=10
|
|
|
|
[Install]
|
|
WantedBy=default.target
|