Commit graph

324 commits

Author SHA1 Message Date
355e696c43 router-ui: read the Forgejo token via LoadCredential
Service runs as router-ui; /var/secrets is root-only 0600.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-15 12:19:21 +01:00
2f1e14495b router-ui: web management page for ports, devices, traffic, speedtest
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-15 12:15:54 +01:00
dafd23d159 update: offload eval to the server too via remote nix build + --store-path 2026-08-13 11:49:21 +01:00
3e556581f1 pelican: pin games.nordhammer.it to LAN IP in panel container
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-09 12:58:26 +01:00
584e40d466 pelican: mount resolved CA bundle file for wings
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-09 12:56:01 +01:00
ff5a825a22 pelican: rename wings vhost to games.nordhammer.it
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-09 12:53:26 +01:00
a031586c32 pelican: pin DB_CONNECTION=sqlite, note CLI install path
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-09 12:32:59 +01:00
82c02cab03 pelican: fix panel startup — BEHIND_PROXY, www-data dir ownership
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-09 12:05:53 +01:00
475d394810 pelican: gate panel behind Authelia, bypass /api/remote/ for wings
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-09 12:00:43 +01:00
00ec9a9759 pelican: game server panel + wings containers
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-09 11:57:15 +01:00
55dc95dd2b prebuild: add gaming closure, stagger timers 2026-08-09 11:28:39 +01:00
b55d6de636 prebuild: nightly macbook closure build on mediaserver 2026-08-09 11:26:09 +01:00
3654bc6ca7 mce-monitor: split MCE/QPI vs disk I/O error tracking + separate alerts
A disk SATA glitch was miscounted as new MCEs and paged as 'QPI returned'.
Now counts bank=0x (MCE) and I/O-error (disk) rows independently, each with
its own threshold alert. Old 2-field state auto-re-baselines.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-08 22:37:29 +01:00
a1a25a8b75 wan-watchdog: log actions to journal + kick dyndns on WAN IP change
Shrinks external-access blip after ISP re-IP (was waiting up to 5min for
the dyndns timer). Adds journal logging so WAN events are auditable.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-08-01 08:16:43 +01:00
3fbc9f884b wan-watchdog: self-heal router WAN on ISP lease flap / IP change
Flushes stale NAT conntrack on WAN IP change; renews lease then restarts
networkd if internet stays down. ntfy on action. Fixes needing a manual
reboot after the ISP re-IP'd us.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-31 13:58:07 +01:00
c2f5b70989 router: drop imgur WireGuard tunnel 2026-07-30 21:33:34 +01:00
bfdd0ebc44 router: route imgur via WireGuard tunnel 2026-07-30 19:24:56 +01:00
3b0133ff3c arr-interconnect: set jellyfin external url for seerr play links
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-28 11:57:57 +01:00
81d1b80a53 arr-interconnect: declarative root folders for radarr/sonarr
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-28 11:42:04 +01:00
384c6918ff arr-interconnect: wire seerr to jellyfin/radarr/sonarr + auto-approve
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-28 09:15:44 +01:00
528a2e3e82 seerr: request manager for jellyfin + nginx vhost
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-28 07:44:03 +01:00
0e2a40f508 hardware-health: ntfy alert on new MCE/QPI errors, geometric thresholds
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 10:45:09 +01:00
e295d84b11 nginx: fix gixy add_header warning on homepage-updates.local 2026-07-21 12:48:19 +01:00
bad68a51f8 nginx: add security headers (HSTS, CSP, X-Frame-Options, etc.) to all vhosts 2026-07-21 12:45:33 +01:00
88e1b03f16 shelfarr: mount SABnzbd's real complete_dir so post-processing can find files 2026-07-21 10:42:05 +01:00
e37d73fd65 shelfarr: move Puma off port 3000, clashes with AdGuard on host network 2026-07-21 10:33:06 +01:00
29d05123c6 shelfarr: switch to host networking so it can reach Prowlarr/SABnzbd 2026-07-21 10:28:59 +01:00
964be8696b arr-interconnect: wire Shelfarr to Prowlarr + SABnzbd via rails runner 2026-07-21 10:21:35 +01:00
daafc3a0f2 shelfarr: audiobook search/acquire, Sonarr/Radarr-style 2026-07-21 09:50:24 +01:00
40ef4444fa sabnzbd: point complete_dir at group-writable pool path + permissions=0775
Fixes Sonarr/Radarr import fail-loop (can't delete sources → mergerfs thrash).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-21 09:42:10 +01:00
3a09fbc29d crowdsec: PR 446307 closed, superseded by 535319
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 21:38:29 +01:00
f3aded5bd2 Remove orphaned neko.nix
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 10:17:00 +01:00
d7657e191d acme: use public DNS resolver for lego zone detection 2026-07-13 22:37:55 +01:00
55bec881c3 Comment out 7DTD servers, not in use
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 23:14:49 +01:00
e64daedef6 Remove selkies
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 18:09:48 +01:00
6cc3fb6419 hardware-health: drop fwupd; no P700 BIOS published on LVFS
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 10:42:08 +01:00
34d44a619e hardware-health: enable fwupd to check LVFS for P700 BIOS update
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 10:37:07 +01:00
d69c9f624f hardware-health: rasdaemon MCE attribution + watchdog auto-reboot on mediaserver
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 19:37:35 +01:00
707f78c9d1 selkies: GPU-accelerate 32-bit GW via mounted 32-bit nvidia GL + vglrun launcher
Mount config.hardware.nvidia.package.lib32 into the container (CDI only carries
64-bit driver libs) and add a `gw` launcher that runs Guild Wars through
VirtualGL on the M2000. Drops GW from ~18 software-rendered CPU cores to <1.
Also bump stream to 60fps.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 13:37:17 +01:00
21b0fa15ae selkies: enable internal TURN relay (LAN) so WebRTC media works behind nginx
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 11:52:28 +01:00
d31a4501f1 selkies: browser game streaming for GW (pointer-lock relative mouse), retire neko
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 11:42:45 +01:00
38901eee27 neko: add Mesa GL (i386) so Wine/Guild Wars gets an OpenGL context (llvmpipe)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 10:56:33 +01:00
c0ed58bcc2 neko: own /var/lib/neko/home as uid 1000 so the container desktop can start
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 10:42:13 +01:00
b00dee9dc6 neko: drop winetricks (not in Debian trixie main; GW needs only bare wine)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 10:39:20 +01:00
e5589907a3 neko: use real xfce image (software render), drop nonexistent nvidia-xfce + GPU
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 10:35:51 +01:00
e199933dce neko: build image from stdin Dockerfile (fix symlinked-context build failure)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 10:31:31 +01:00
fe0cb4663e neko: add Authelia access rule for neko.nordhammer.it
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 10:27:49 +01:00
448e44753f neko: Guild Wars in a browser (Xfce+Wine+NVIDIA), Authelia-gated
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 10:07:36 +01:00
5e870d0e8b arr-interconnect: auto-add Jellyfin library-refresh notification to Sonarr/Radarr
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 21:35:41 +01:00
0f92b3fbf5 Disable frigate for now
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 21:11:06 +01:00