First-run bootstrap for local mode (admin #1 / setup experience) #51
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Long-term onboarding answer for deployments without an IdP (local auth mode, tiny installs) — the lane where
auth.adminGroups(IdP-managed admin) can't help.Direction (Portainer/Immich/Grafana pattern): on first start with no users configured, print a one-time setup URL/token to the logs (never "first user to race wins" on a network-reachable instance); the setup page creates the first account and marks it admin. After that, day-to-day admin management belongs to the settings surface (see the settings-store issue).
Scope this with the broader "first five minutes" polish pass before public launch (v0.4 "commercial-ready" / GitHub mirror going public) — install experience, sensible defaults, docs. Not urgent for the dogfood: OIDC deployments get admin-by-group instead.
Shipped in v0.3.11 (PR #56). Local mode with no configured users and an empty local-users store now prints a one-time setup token to the logs and serves a branded
/setuppage that creates the first admin (persisted toauth.localUsersPath, flagged admin, logged straight in). Token never exposed over HTTP; setup closes permanently after the first user. OIDC/LDAP deployments useauth.adminGroupsand are unaffected.