This website requires JavaScript.
e0bade6789
Add arr stack vhosts to Caddyfile — public blocks + :8017 named handlers
Frank
2026-09-04 00:31:37 -07:00
19675849aa
Update service descriptions in shared/homepage/services.json
Frank
2026-09-03 22:54:09 -07:00
5797c0ee3f
Format shared/homepage/services.json with proper indentation
Frank
2026-09-03 21:39:17 -07:00
df0c669815
feat(npu): boot nuextract3:4b as frank-npu's resident model
Frank
2026-09-03 17:37:41 -07:00
b563053966
test(e2e): accept IdP redirect as a valid gate in the direct-nav guard spec
Frank
2026-09-03 17:00:34 -07:00
8212d4451a
docs: rename frank-default-large/small/sightsound to frank-large/small/npu across vault
Frank
2026-09-03 16:17:14 -07:00
5a083eee6c
test(e2e): prove guard chain blocks direct navigation and admins keep admin reach
Frank
2026-09-03 16:16:11 -07:00
69f87c8483
feat(llm): rename inference services dropping 'default' from names
Frank
2026-09-03 16:15:43 -07:00
1e491fa69f
docs(hermes,dns): document the new internal-only exposure surface
Frank
2026-09-02 18:57:38 -07:00
1e4daaa24a
feat(caddy): expose Hermes webui and admin dashboard on internal-only vhosts
Frank
2026-09-02 17:54:59 -07:00
2e179b024d
docs(hermes): document namespace addressability and fix stale claims
Frank
2026-09-02 16:10:57 -07:00
834ad54112
homepage: probe Plex over TCP, not HTTP
Frank
2026-09-02 13:51:25 -07:00
089255d45d
homepage: repoint the Hermes probe at the live webui health port
Frank
2026-09-02 13:40:44 -07:00
8895a02512
dankserver: entropy read-only fleet-wide; jellyfin gets whole /mnt/entropy at /data
Frank
2026-09-01 23:03:45 -07:00
6302508dfe
plex: restore Network=dankserver_appnet:alias=plex (line churn ate it)
Frank
2026-09-01 23:02:31 -07:00
39c8135a36
tautulli: restore ContainerName=tautulli (line churn ate it)
Frank
2026-09-01 22:58:44 -07:00
c694053950
tautulli healthcheck via curl; restore PublishPort; plex gate to 600s
Frank
2026-09-01 22:56:19 -07:00
58aa084d9c
quadlet: drop the userns identity model — rootless cannot map uid 997
Frank
2026-09-01 22:46:00 -07:00
1939135e4c
quadlet: UsernsMode= is compose syntax — use the v1 key UserNS=host
Frank
2026-09-01 22:36:43 -07:00
592a0baa35
docs: plex and tautulli runtime pages reflect the quadlet migration
Frank
2026-09-01 22:31:38 -07:00
eebf2f6c7d
dankserver: add plex and tautulli quadlet units
Frank
2026-09-01 22:31:26 -07:00
93f16f68be
deployer: route plex and tautulli as dankserver quadlet services
Frank
2026-09-01 22:31:14 -07:00
28f8dc2c0d
homepage: point Plex link to /web/index.html
Frank
2026-09-01 20:45:49 -07:00
54239294b7
authentik: require flows + application on proxy providers; harden SSO e2e
Frank
2026-09-01 18:55:44 -07:00
ffae9b5e21
qBittorrent pinned to 4.6.7; all five download clients live-verified
Frank
2026-09-01 18:10:32 -07:00
a6da2221d7
frankbook-pro: pin qbittorrent to 4.6.7 (Readarr's retired client needs qB 4.x auth)
Frank
2026-09-01 18:00:59 -07:00
ef1b077a2c
homepage: move ComfyUI tile from user grid to admin panel
Frank
2026-09-01 17:48:52 -07:00
ea0bba3023
docs(authentik): outpost claim-cache gotcha (proxysession) + Containers data paths
Frank
2026-09-01 17:43:15 -07:00
b945dd08cc
docs: E2E Suite page + seams-table rows (quadlet, browser e2e)
Frank
2026-09-01 17:15:47 -07:00
00b7eb75d4
docs: Anubis v1.27.0 — domain-wide cookie, persistent key, new gotchas
Frank
2026-09-01 17:13:51 -07:00
4e1c8a873f
e2e: harden akLogin against Lit stage re-render; settle per hop in crawl/sso
Frank
2026-09-01 17:09:40 -07:00
912c0edeff
e2e: budget user/admin title asserts to 60s for cold Anubis PoW
Frank
2026-09-01 17:09:17 -07:00
9c593476af
anubis: pin v1.27.0, fleet-wide cookie domain, persistent signing key
Frank
2026-09-01 17:09:09 -07:00
7457a9c607
deploy.sh: accept dankclaw:homepage as a valid explicit service (drift vs deploy-plan.py)
Frank
2026-09-01 16:43:06 -07:00
dfd9c8d1c0
e2e: Playwright suite for homepage + guard chain; RBAC gate on /admin; fix stale service links
Frank
2026-09-01 16:42:33 -07:00
e513007aa4
deploy-remote: seed qB password under WebUI\\Password_PBKDF2 (qB 4.2+ ignores the legacy key)
Frank
2026-09-01 16:42:30 -07:00
94d9d249a1
docs: FrankBook-Pro active-tunnel reality (PA-12, 6881 retirement, qB wiring + save-path convention)
Frank
2026-09-01 16:32:16 -07:00
d2ef56442d
deploy-remote: strip systemd bullet from frankbook unit resolution
Frank
2026-09-01 16:18:23 -07:00
f1171b99cc
docs: log entry reflects full port scan of Proton endpoint
Frank
2026-09-01 15:59:29 -07:00
3094ffa746
docs: identify WG endpoint as ProtonVPN Seattle; Mac gate is a second dashboard WG config
Frank
2026-09-01 15:58:22 -07:00
2d06be876f
docs: correct Jellyfin admin-password claim (archive OCR corruption); prepare Mac WG peer
Frank
2026-09-01 15:53:13 -07:00
6a67a9067f
docs: Jellyfin LDAP-Auth integration (outpost + plugin) and authentik LDAP rules
Frank
2026-09-01 15:43:04 -07:00
f4ef2b81ed
authentik-outpost-ldap: pin image by amd64 digest
Frank
2026-09-01 15:27:31 -07:00
691da478ac
deploy-remote: allow authentik-outpost-ldap in service_is_allowed
Frank
2026-09-01 15:26:26 -07:00
4ad85fae70
authentik: add LDAP outpost service for Jellyfin LDAP-Auth
Frank
2026-09-01 15:25:56 -07:00
792eb19feb
docs: Seerr service page, index entry, and 2026-09-01 work log
Frank
2026-09-01 14:47:54 -07:00
f4c9b4f381
seerr: quadlet on dankclaw + guard-chain vhost + deployer wiring
Frank
2026-09-01 14:40:10 -07:00
b6be6d3da6
docs: FrankBook-Pro page + 2026-09-01 log
Frank
2026-09-01 14:32:57 -07:00
1a257c06fe
frankbook: propagate skip-state before restart, PBKDF2 qB seed
Frank
2026-09-01 14:22:30 -07:00
fe34f04454
docs: record FreeToken compressed-tensors FP8 loader failures; Huihui restored
Frank
2026-09-01 14:11:39 -07:00
949f68e2b5
frankbook-pro: *arr stack + qbittorrent quadlets inside podman machine
Frank
2026-09-01 14:10:23 -07:00
4d5bea42e0
frank-default-small: revert to Huihui FP8 — FreeToken v0.1.2 cannot load compressed-tensors FP8
Frank
2026-09-01 14:02:27 -07:00
272ef6f0b0
docs: record quadlet standardization of dankserver media + dankclaw data roots
Frank
2026-09-01 13:57:33 -07:00
34ab6b4d0c
frank-default-small: retarget to lamianlbe/Qwen3.6-35B-A3B-Uncensored-HauhauCS-Aggressive-fp8
Frank
2026-09-01 13:56:22 -07:00
a14a70a404
dankserver: copyparty PublishPort=3923 + seam pinning host-served ports
Frank
2026-09-01 13:53:10 -07:00
06de2b4cbf
dankserver: jellyfin GPU device via AddDevice=, seam guard for Device=
Frank
2026-09-01 13:49:45 -07:00
26b0d4c357
deploy-remote: privileged rename + deep merge in migrate_data_root
Frank
2026-09-01 13:42:31 -07:00
a18bb62d30
deploy-remote: ensure quadlet unit dir exists for all handlers
Frank
2026-09-01 13:40:17 -07:00
af6cd72d02
frank-default-small: swap to ornith-ai/Ornith-1.5-35B-A3B-FP8 + Qwen-Sharp chat template
Frank
2026-09-01 13:40:12 -07:00
cdfaf48191
deploy-remote: migrate_data_root merges into pre-seeded destinations
Frank
2026-09-01 13:38:31 -07:00
9e904d23a3
deploy-remote: daemon-reload after copying hermes units, before restarts
Frank
2026-09-01 05:16:27 -07:00
e570d92bb9
dankclaw: standardize gitea/authentik/hermes data roots under /home/dank/Containers
Frank
2026-09-01 04:57:41 -07:00
b206f477ad
dankserver: quadlet units + deploy handlers for romm trio, jellyfin, calibre-web, copyparty
Frank
2026-09-01 04:14:08 -07:00
11638442e7
Revert frank-default-small to Huihui FP8: Thomson-1.0-Small is BF16 ~66GB, exceeds Dankserver 62GB RAM (thrash/OOM); needs a quantized checkpoint
Frank
2026-09-01 02:53:20 -07:00
415f64964a
frank-default-small: swap Huihui FP8 for thomsonreuters/Thomson-1.0-Small
Frank
2026-09-01 02:11:35 -07:00
bb5508b2ec
docs: frank-default-sightsound runbook — model swap + tag switching
Frank
2026-09-01 01:53:59 -07:00
1401bd42d4
NPU: swap gemma4-it:e4b for qwen3.8-distilled-heretic:9b
Frank
2026-09-01 01:51:44 -07:00
5ba32ccecd
Add FLM gemma4-it:e4b model to Hermes config
Frank
2026-08-31 17:10:24 -07:00
8e1b00646f
copyparty: read-only volume (no uploads); correct runbook anon-perms claim
Frank
2026-08-31 16:37:38 -07:00
207235420c
hermes: CDP browser daemon + MCP client wiring for the agent
Frank
2026-08-31 16:25:28 -07:00
f1dd586fbb
refactor(caddy): retire decommissioned vhosts, rename chat->ai and jellyfin->jelly
Frank
2026-08-31 14:37:40 -07:00
44438979b3
feat(hermes-webui): publish webui on LAN interface instead of loopback
Frank
2026-08-31 13:13:07 -07:00
ba0345ae7a
docs(searxng): record verified agent-API contract under the Anubis guard
Frank
2026-08-31 06:49:35 -07:00
c527f35bd4
docs(hermes): persistent SSH-tunnel ingress design for Hermex (tunnel user + restricted key options)
Frank
2026-08-31 06:23:13 -07:00
9d678122d7
docs: grafana OAuth2-RP contract + authentik fork quirks (live-verified 2026-08-31)
Frank
2026-08-31 06:06:57 -07:00
3d64f2ca99
grafana: switch auth_proxy -> OAuth2 relying-party against authentik
Frank
2026-08-31 03:32:53 -07:00
ec03929d95
grafana: auth_proxy behind the Authentik guard chain
Frank
2026-08-31 01:48:30 -07:00
c6d404ffde
AGENTS.md: External Exposure Policy (MANDATORY); comfyui_rocm seam retargeted
Frank
2026-08-30 23:26:18 -07:00
a382a3b883
caddy: put loki.franksdank.cloud behind the Anubis+Authentik guard chain
Frank
2026-08-30 23:26:16 -07:00
246ba7737c
caddy: strip stray colon prefix from comfyui guard comment
Frank
2026-08-30 19:06:36 -07:00
055fafc233
udev: match kfd by name only — misc-class devices have no udev subsystem
Frank
2026-08-30 18:37:33 -07:00
28eb7531e5
udev: world-writable compute nodes for spawn-independent GPU access
Frank
2026-08-30 18:30:34 -07:00
fc4c521fb4
comfyui: use keep-groups instead of a named render group
Frank
2026-08-30 18:13:53 -07:00
14d99a8a17
comfyui: grant the render group so ROCm can open /dev/kfd
Frank
2026-08-30 18:12:00 -07:00
5f4377276e
caddy: move ComfyUI behind the Anubis + Authentik guard chain
Frank
2026-08-30 17:35:49 -07:00
75e7217f4d
authentik: fix mangled pg_isready health probe
Frank
2026-08-30 17:35:47 -07:00
9ef034e5e6
sightsound: move FLM NPU endpoint port 52626 -> 7771
Frank
2026-08-30 14:06:54 -07:00
9b9f0f9051
docs(sightsound): correct unknown-model-tag contract to live-probed behavior
Frank
2026-08-30 11:41:15 -07:00
150412bbca
docs(sightsound): NPU sight+sound runbook, fleet table, IOMMU/SVA root cause
Frank
2026-08-30 09:05:22 -07:00
443adb04a7
hermes: drop the stale NetworkMode key from the gateway unit
Frank
2026-08-30 09:00:14 -07:00
39f0712746
hermes: Network= is the quadlet v1 key; NetworkMode= is not
Frank
2026-08-30 08:39:53 -07:00
e062fdfeff
hermes: gateway dials the signal-cli daemon over loopback on host networking
Frank
2026-08-30 07:42:07 -07:00
915d49d663
hermes: boot-persistent quadlet units for the gateway, dashboard, and webui
Frank
2026-08-30 07:22:20 -07:00
56763e014e
fix(hermes): point the signal adapter at the verified alias path and route hermes.franksdank.cloud to the dashboard
Frank
2026-08-30 04:43:15 -07:00
cf0c541cc9
deploy-remote: allow frank-default-sightsound on the dankclaw target
Frank
2026-08-30 04:40:57 -07:00
c3ed3a6e12
sightsound: new FLM NPU sight+sound service on XDNA2 (gemma4-it:e4b)
Frank
2026-08-30 04:34:08 -07:00
0937cfb047
docs: record fleet double swap (large -> kingjones STRIX on pinned fork, small -> Huihui FP8 on FreeToken)
Frank
2026-08-30 02:35:38 -07:00
aa9c1d065a
frank-default-small: swap to batsclamp Huihui-Qwen3.6-35B-A3B-abliterated-FP8 on FreeToken
Frank
2026-08-30 02:26:49 -07:00
3066d810ee
frank-default-large: swap to kingjones STRIX model on card-pinned kingjones30/ROCmFPX runtime
Frank
2026-08-30 02:05:03 -07:00
f69efcdde6
fix serve script: restore : (not ::) for default-value assignments
Frank
2026-08-30 01:34:21 -07:00