89c0205fe2
drop lantian attic cache (compromised)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 09:36:50 +01:00
782a1c96a6
authelia: household group; guildhall invite links
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 14:11:16 +01:00
791a3bdf34
Add guildhall
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 13:55:14 +01:00
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