docs: correct Jellyfin admin-password claim (archive OCR corruption); prepare Mac WG peer
This commit is contained in:
1 parent
6a67a9067f
commit
2d06be876f
3 files changed
+42
-5
No files matched your search
@@ -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
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
Reference in new issue
Block a user