https://pocket-id.augustin.ai). Apps
sign people in with Pocket-ID and create their profile the first time they log
in. Two groups decide what a person can reach:
guest: the shared apps below, as a normal user.admins: everything, as an admin, including the apps behind the shared Envoy gate (which only letsadminsthrough).
Add a person
- Pocket-ID → Administration → Users → Add user. Username is lowercase and becomes their username in every app (Jellyfin, Seerr, BookOrbit, RomM). Email is required. Leave Admin off.
- Groups: tick
guest(oradmins). - User row → ⋯ → Login code → pick an expiry (one day is fine) → copy the
link (
https://pocket-id.augustin.ai/lc/<code>) and send it to them. Opening it signs them in once; Pocket-ID then asks them to add a passkey. After that they sign in with the passkey everywhere.
What they get
Jellyfin SSO setup (lives in Jellyfin’s config PVC, not git)
- Plugin: SSO Authentication from the maintained fork’s repository
https://raw.githubusercontent.com/k0lin/jellyfin-plugin-sso/manifest-release/manifest.json(Dashboard → Plugins → Repositories). Version 5.0.x is the line for Jellyfin 10.11; 5.1+ needs Jellyfin 12. The original 9p4 repository is archived. - Provider name
pocketid, Pocket-ID client idjellyfin(callbackhttps://jellyfin.augustin.ai/sso/OID/redirect/pocketid, PKCE, groupsadmins+guest), role claimgroups, rolesadmins,guest, admin roleadmins, username claimpreferred_username, scheme overridehttps. - The login button is the branding “Login disclaimer” (Dashboard → General →
Branding), a form posting to
/sso/OID/start/pocketid. - The plugin writes its config, client secret and user links to
/config/data/plugins/configurations/SSO-Auth.xmlat runtime, so it is not managed from git; the PVC backup covers it. Rotate the secret by adding a new one on the Pocket-ID client and re-saving the plugin settings. - Break-glass:
augustinkeeps a local Jellyfin password (in the vault underjellyfin.augustin.ai/augustin). There is no separateadminuser.
Asking the assistant to add someone
The Pocket-ID admin API (STATIC_API_KEY in the pocket-id secret, header
X-API-Key) covers the whole flow:
POST /api/userswithusername,email, names anduserGroupIdscreates the user in the right group.POST /api/users/<id>/one-time-access-tokenwith{"ttl": <seconds>}returns a token; the setup link ishttps://pocket-id.augustin.ai/lc/<token>.POST /api/users/<id>/one-time-access-emailemails the link instead (needs SMTP configured in Pocket-ID).