The operator console
Running the instance gives you a tier of access that no workspace role has. A
workspace owner or admin controls one
workspace. The operator sits above all of them: every workspace, every account,
the instance's own health. That console lives at /admin.
This is the admin surface for a self-hosted instance you run. It manages the people and workspaces on your box. It is not a hosted service anyone signs up for.
How you become the operator
Put your email in SUPERADMIN_EMAILS in .env, then register your account
normally with that address.
SUPERADMIN_EMAILS=you@example.com
The value is a comma-separated list, so more than one person can hold the role.
The setup builder fills this line from the email you enter, and
the flag is checked against your account's email, so nobody reaches /admin by
signing up. It is your email on the box that unlocks it.
If you already have an account and want to grant it the role after the fact, add the email and recreate the api container:
docker compose up -d
The existing account gains operator access with no re-registration. Without a
matching email, /admin answers Platform-admin only. Set SUPERADMIN_EMAILS to include your email.
A separate tier, not a bigger role
The operator flag gates the /super-admin API and the /admin pages. It leaves
the per-workspace roles untouched. Being the operator does not make you a member
of anyone's workspace, and it does not raise your role inside workspaces you do
belong to. To act inside a workspace you don't own, you use
view-as, which is audited and read-only
until you deliberately arm editing.
What /admin gives you
The console is grouped into sections. The ones a self-hoster reaches for:
- Workspaces and users: see every workspace with its owner, member count, and last activity; freeze or remove one; list every account across the instance.
- Invites and signups: mint single-use join links and control whether public signup is open.
- View-as: render a workspace as one of its members for support, read-only by default, with a banner the whole time.
- Instance settings: read which switches are live on the instance, post announcements, send a targeted notice to affected members.
- Metrics: the Overview counts, per-workspace product metrics, cross-workspace AI usage, and a health snapshot.
A few sections exist for an instance that also fronts a public signup form: a Waitlist tab that ingests submissions and a Feedback tab. If you run Cobblr for yourself or a known group, those stay empty and you can ignore them.