d51f2d62b6
Add a top-level README mapping the boxes and a full docs/ tree: topic pages (architecture, networking, deployment), per-site box pages for colony and home with containers nested under their hosts, remote and mobile boxes, the installer, and the home switch fabric reference (folded in from home-switches.md, with AGENTS.md and code comments retargeted to its new home). Box pages carry marked assignment tables that CI regenerates from nixos.allAssignments. AGENTS.md points at the new docs and keeps its terse agent version of the mechanics, referring to the topic pages for depth.
2.4 KiB
2.4 KiB
kelder-acquisition
The media acquisition stack for the kelder site — Transmission (forced over VPN), the *arrs and Jellyfin in one NixOS container.
- Source:
nixos/boxes/kelder/containers/acquisition/ - Host: NixOS container on
kelder
Role
- Transmission (
transmission_4) — BitTorrent client bound to the VPN (bindsTo systemd-networkd-wait-online@vpn.service); peer port 26180 (forwarded in the AirVPN config), 20 MiB/s down / 1 MiB/s up limits, ratio limit 2.0. Downloads land in/mnt/media/downloads/torrents(/mnt/mediais bind-mounted from the host's/mnt/storage/media). - Jackett, Radarr, Sonarr — indexer + media managers, in the shared
mediagroup withUMask 0002. - Jellyfin — streaming with Intel hardware transcoding:
/dev/driis bind-mounted from the host,intel-vaapi-driver/intel-oclare installed and thejellyfinuser is in therendergroup.
Network assignments
| Name | Assignment | IPv4 | IPv6 | Domain | Notes |
|---|---|---|---|---|---|
| acquisition-ctr | internal | 172.16.64.2/24 gw 172.16.64.1 |
— | hentai.engineer |
Networking
internalassignment (nameacquisition-ctr) on the host'sctrsbridge, MTU 1460 to match the site WAN.- All non-site traffic goes over an AirVPN WireGuard tunnel (
vpnnetdev, MTU 1320, AirVPN IE endpoint) using fwmark 42 / route table 51820: policy rules keep traffic to and from the kelder prefixes on the main table and push everything else via the VPN. - An nftables input chain drops new TCP connections from the VPN interface except the Transmission peer port; the web UI ports (9091 Transmission, 9117 Jackett, 7878 Radarr, 8989 Sonarr, 8096 Jellyfin) are accepted from the site. When built as a dev VM, those ports are forwarded to the host.
- Sonarr still needs the EOL .NET 6 runtime, allowed via
nixpkgs.config.permittedInsecurePackages.
Notable config files
nixos/boxes/kelder/containers/acquisition/default.nix— services and users.nixos/boxes/kelder/containers/acquisition/networking.nix— AirVPN tunnel + firewall.