Commit graph

359 commits

Author SHA1 Message Date
0bddaa5578 authelia: admin sites fred-only
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 09:56:00 +01:00
1e1883ce45 flowtrack: push reminders at 09:00 UK time
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 09:43:55 +01:00
4a5663f795 Add flowtrack period tracker
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 09:01:45 +01:00
78a7f1b478 arr-interconnect: propers/repacks doNotPrefer
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 19:27:08 +01:00
054bb86471 CrowdSec: stop re-enrolling on every switch
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 09:30:38 +01:00
2e662062cf Add shared Stardew Valley tracker 2026-10-04 19:53:06 +01:00
bb45e49ed5 nginx: drop frame headers for jellyfin (webOS app iframe)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 21:18:33 +01:00
13cdf48a1c Revert "nginx: allow framing jellyfin for webOS app"
gixy rejects the nested add_header override.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 21:17:06 +01:00
6f438679f6 nginx: allow framing jellyfin for webOS app
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 21:14:35 +01:00
5234d6373d CrowdSec: register CAPI, enroll console
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 13:26:36 +01:00
554eec97b0 Drop recursive media chown and migration backup script
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 10:08:13 +01:00
50ec04534e Stylix follows nixpkgs, weekly GC, drop VMs and Flatnotes
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 10:03:30 +01:00
af785503d6 Allow media server to fetch private Loupe flake 2026-09-18 20:39:25 +01:00
10b38f5405 Keep Valheim endpoint public on LAN 2026-09-15 15:04:48 +01:00
214845d71e Reflect Pelican game ports for LAN clients 2026-09-15 14:59:40 +01:00
85b1c3ecbf Order network jobs after DNS readiness 2026-09-15 13:55:48 +01:00
7bc5a4c852 Include Git in the deployment worker runtime 2026-09-14 15:21:14 +01:00
02382f8446 Decommission Homepage dashboard and update history hooks 2026-09-14 15:07:40 +01:00
7145a35927 Harden deployment, authentication, firewall and media storage failure paths 2026-09-14 11:51:04 +01:00
6a461267a2 arr-interconnect: record why qBittorrent's localhost auth is off
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-12 17:34:10 +01:00
1f472fcafe router: count isolated-device drops so the rule is verifiable
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-12 12:59:22 +01:00
33db456c4c go2rtc: bind to loopback; isolate the camera from routing
The go2rtc API is unauthenticated and echoes producer URLs, so
GET /api/streams handed out the camera's RTSP password to anything
on the LAN. Bind api/rtsp/webrtc to 127.0.0.1 and add an `isolated`
device flag that drops the camera in the forward chain.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-12 12:52:27 +01:00
d9b4c34b6b owncast: let Owncast's own auth guard /admin, not nginx's
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-12 12:19:11 +01:00
5f85d611c9 owncast: relay Twitch/YouTube for synced watch parties
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-12 12:04:31 +01:00
285ee1aaaf valheim: wait for an empty server, notify on install and recovery
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-11 17:24:39 +01:00
8312873c0d valheim: restart only when a new Steam build ships
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-11 17:07:27 +01:00
b85429fb76 nginx: stop stripping cookies on qbittorrent vhost
qBit 5.2 caches uploaded .torrent metadata in the session; without QBT_SID the follow-up torrents/add fails 400.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-03 10:43:32 +01:00
f6b6f6993e router: CAKE shaper on WAN egress at 63M to kill upstream bufferbloat
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-01 10:05:37 +01:00
9b8e0b5242 redlib: default to HLS, Reddit dropped the mp4 fallback
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-30 12:44:28 +01:00
a1deb804db authelia: allow reddit.nordhammer.it
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-29 16:09:48 +01:00
ce18b829cb redlib: build from upstream main, nixpkgs build is TLS-blocked 2026-08-29 14:16:13 +01:00
f97d7ac829 redlib: reddit front-end at reddit.nordhammer.it
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-29 13:45:03 +01:00
f38bb57514 router: allow pelican0 bridge through firewall 2026-08-27 20:19:34 +01:00
1f2f8ad5bd router: don't DHCPRELEASE the WAN lease on networkd stop 2026-08-24 19:49:59 +01:00
c00a1f85bc router-ui: per-device traffic, last seen, and saner device saves
- nftables dynamic sets count bytes per LAN address; a 1-min tick folds
  them into totals that survive a ruleset reload
- devices page shows last seen + per-device down/up
- saving no longer pushes every DHCP lease into devices.toml, only rows
  with a reservation, note or block
- empty-state text on the traffic graphs instead of blank space

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-15 12:42:50 +01:00
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