docs: correct Jellyfin admin-password claim (archive OCR corruption); prepare Mac WG peer

This commit is contained in:
Frank committed 2026-09-01 15:53:13 -07:00
1 parent 6a67a9067f
commit 2d06be876f
3 files changed
+42 -5

No files matched your search

+5 -3
View File
@@ -102,9 +102,11 @@ cgroup regardless of `GroupAdd=keep-groups`.
## Authentication ## Authentication
- **Built-in auth:** per-user libraries, parental controls, max bitrate - **Built-in auth:** per-user libraries, parental controls, max bitrate
limits. The local `dank` admin account is built-in and its password is limits. The local `dank` admin account is built-in; its password is
Frank's — never recorded in this repo (the bootstrap-era value no longer Frank's bootstrap value — never recorded in this repo. (2026-09-01: a
authenticates on the live database). corrupted session-archive reading briefly suggested the password had
changed; verified offline against the stored PBKDF2-SHA512 hash, the
bootstrap value still authenticates.)
- **LDAP via Authentik (live 2026-09-01):** the LDAP-Auth plugin - **LDAP via Authentik (live 2026-09-01):** the LDAP-Auth plugin
authenticates users against the authentik LDAP outpost on Dankclaw — see authenticates users against the authentik LDAP outpost on Dankclaw — see
[[Authentik]] for the outpost unit, provider, and RBAC objects. [[Authentik]] for the outpost unit, provider, and RBAC objects.
@@ -31,6 +31,40 @@ kill SearXNG), `deploy_frankbook_stack` **skips** gluetun and qbittorrent
with instructions and deploys the five arrs anyway. The qB WebUI port stays with instructions and deploys the five arrs anyway. The qB WebUI port stays
unpublished by design; the e2e torrent test waits on the credentials. unpublished by design; the e2e torrent test waits on the credentials.
### Prepared Mac peer (2026-09-01 — waiting on server-side add)
A dedicated keypair is generated and parked on Dankclaw
(`~/frankbook-wg/mac-private.key`, 0600, host-local — never in the repo).
Lighting the tunnel needs exactly one change on the WireGuard server
(149.102.254.77): register a new peer for the Mac — different keypair from
Dankclaw's (one key cannot serve two machines; the server bounces the
endpoint between them), same endpoint and server key:
- Server pubkey (route target): `utqNH4P+C0fA1wTgIUaIfhm1b7ai0iEGvXyiw4KC3Fs=`
- Endpoint: `149.102.254.77:51820` (`VPN_SERVICE_PROVIDER=custom`)
- Mac public key to register as the new peer:
`QIoCwI+9VuiWldRvUfPpTfXq7UVVBFynIqYb2vqHtQo=`
- Allocate the Mac a fresh tunnel IP as the peer's allowed IP — Dankclaw
holds `10.2.0.2/32`, so likely `10.2.0.3/32` unless the server numbers
differently.
Then `/home/core/Containers/gluetun/env` (0600) inside the VM:
VPN_SERVICE_PROVIDER=custom
VPN_TYPE=wireguard
WIREGUARD_PRIVATE_KEY=<raw b64 private key — fetch from dankclaw:~/frankbook-wg/mac-private.key>
WIREGUARD_ADDRESSES=<allocated tunnel IP>/32
WIREGUARD_PUBLIC_KEY=utqNH4P+C0fA1wTgIUaIfhm1b7ai0iEGvXyiw4KC3Fs=
WIREGUARD_ENDPOINT_IP=149.102.254.77
WIREGUARD_ENDPOINT_PORT=51820
WIREGUARD_ALLOWED_IPS=0.0.0.0/0,::/0
WIREGUARD_PERSISTENT_KEEPALIVE_INTERVAL=25s
Deploy with `./scripts/deploy.sh frankbook-pro --service gluetun --service
qbittorrent`, then verify egress from the VM (`podman exec gluetun curl -s
ifconfig.me` must NOT show the residential IP) before declaring the
BitTorrent port usable.
## Deploy flow ## Deploy flow
Same deployer as every host: `./scripts/deploy.sh frankbook-pro --service Same deployer as every host: `./scripts/deploy.sh frankbook-pro --service
+3 -2
View File
@@ -45,8 +45,9 @@ timestamp: 2026-09-14
End-to-end verified with a throwaway `jellyfin_users` member End-to-end verified with a throwaway `jellyfin_users` member
(`AuthenticateByName` 200, non-admin policy), then removed from both (`AuthenticateByName` 200, non-admin policy), then removed from both
authentik and the Jellyfin DB directly (its admin-token cleanup 401'd — authentik and the Jellyfin DB directly (its admin-token cleanup 401'd —
the local `dank` admin password on the live DB is Frank's, not the the admin password in the session archive was OCR-corrupted; verified
bootstrap-era value; notated in the Jellyfin doc). offline against the stored PBKDF2-SHA512 hash that the real bootstrap
value still authenticates, unchanged).
- Docs: [[Authentik]] gained the LDAP-outpost section (objects table + - Docs: [[Authentik]] gained the LDAP-outpost section (objects table +
rules), [[Jellyfin]] gained the LDAP-Auth plugin section. Docs-only rules), [[Jellyfin]] gained the LDAP-Auth plugin section. Docs-only
commit → deploy no-op. commit → deploy no-op.