Skip to main content

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.