FrankBook-Pro becomes the only *arr/qBittorrent deployment. Every fleet container (qB + five arrs) now shares gluetun's netns, so all egress — torrent, indexer APIs, metadata lookups — exits the WireGuard tunnel by construction (AllowedIPs=0.0.0.0/0); the arrs' own ports publish on the gluetun unit, none on the arr units themselves. - dankserver/compose.yaml: remove the six arr services (the Aug 20 compose copy — never healthy, superseded; config dirs trashed on the host) - dankclaw/Caddyfile + shared/homepage/services.json: arr vhosts and probes repoint 192.168.0.235 -> 192.168.0.112 (FrankBook-Pro) - frankbook-pro units: five arrs join gluetun netns (Wants/After/Network); gluetun publishes 9696/8989/7878/8686/8787 alongside 8080/6881 - tests/frankbook_quadlet.bats: new VPN egress seam — every arr+qB unit must share gluetun's netns and publish no port; gluetun must publish the whole fleet's ports - deploy-plan.py: gluetun changes carry the whole netns family (a gluetun recreation kills all six joiners); dankserver compose set loses the arrs - AGENTS.md: deployment is complete only when unit tests AND the Playwright E2E suite both pass
32 lines
786 B
INI
32 lines
786 B
INI
# Quadlet unit: Lidarr in FrankBook-Pro's podman machine.
|
|
#
|
|
# Install path is INSIDE the machine VM:
|
|
# /home/core/.config/containers/systemd/lidarr.container
|
|
#
|
|
#
|
|
# Joins gluetun's network namespace: all egress exits through the WireGuard
|
|
# tunnel; 8686 publishes on the gluetun unit.
|
|
# Grab-only: no media binds; config migrated from dankserver's retired
|
|
# bare container.
|
|
[Unit]
|
|
Description=Lidarr (FrankBook-Pro)
|
|
Wants=gluetun.service
|
|
After=gluetun.service
|
|
|
|
[Container]
|
|
ContainerName=lidarr
|
|
Image=lscr.io/linuxserver/lidarr:latest
|
|
Environment=PUID=0
|
|
Environment=PGID=0
|
|
Environment=TZ=America/Los_Angeles
|
|
Environment=UMASK_SET=022
|
|
Volume=/Volumes/COMPLETE/lidarr-data:/config
|
|
Network=gluetun.container
|
|
|
|
[Service]
|
|
TimeoutStartSec=900
|
|
Restart=always
|
|
|
|
[Install]
|
|
WantedBy=default.target
|