Skip to main content

Users & Accounts

Accounts are platform-level: a user exists on the instance, then joins workspaces. This page covers what a platform admin can do to an account. Everything here lives under Platform admin → Users.

The platform admin users list

Registration is closed by default​

Out of the box there is no public sign-up. The platform admin is seeded at install, and every other account is created by an admin or arrives through SSO / a directory. A self-hosted PaaS with open registration is an open door to your Docker host, so an upgrade never opens it for you.

Opening self-service sign-up​

Sign-up is switched on by the environment, not from the console: opening it lets a stranger create an account, so it takes control of the deployment rather than an admin session.

VariableDefaultPurpose
MIABI_REGISTRATION_ENABLEDfalseShows Sign up on the sign-in page and accepts new accounts. Read at boot only.
MIABI_REQUIRE_EMAIL_VERIFICATION(unset)true makes a new account verify its address before it can sign in
MIABI_ALLOWED_SIGNUP_DOMAINS(unset)Comma-separated allow-list, e.g. acme.com,acme.co.uk. Subdomains match their parent.

The last two are ordinary platform settings (require_email_verification, allowed_signup_domains) you can also edit in Platform Settings. Setting the variable pins the setting and re-applies it on every boot.

  • Verification needs mail. If verification is required but no mail server is configured, sign-up stays closed: the accounts it created could neither sign in nor verify themselves.
  • The allow-list is not revealed. An address from a domain that is not allowed gets the same answer as a successful sign-up, so nobody can probe it for your organisation's domains.
  • Passwords are at least 12 characters wherever one is set: sign-up, invitations, changes, resets, accounts an admin creates, and the first admin's MIABI_ADMIN_PASSWORD. Sign-in still accepts passwords of 8 or more set under the earlier rule; directory (LDAP/AD) passwords follow the directory's own policy.

A new account is an ordinary user, never a platform admin. Every sign-up is written to the audit log. For the sign-up and verification flow a user sees, see Authentication.

Creating an account​

Users → New user. You set the name, email and username, and choose whether the account is a platform admin. Miabi generates a strong temporary password and shows it once, right after the account is created: copy it and share it with the user through a secure channel. It can't be shown again; if it's lost, use Reset password.

The temporary password is marked must change: the user is sent to a change-password screen at first sign-in and cannot reach the console until they set their own. You never need to learn the password they end up with.

Through the API, POST /api/v1/admin/users generates the password when password is omitted and returns it once in the response; a password you supply must be at least 12 characters.

Account actions​

Open a user to reach the actions below.

A user's detail page with account actions

ActionWhat it doesWhen you need it
Reset passwordIssues a new temporary password with the must-change flag setThe user is locked out and self-service reset is disabled or their mail is broken
Verify emailMarks the address verified without the user clicking a linkTheir mail never arrived, and you have confirmed the address another way
Revoke sessionsSigns the account out everywhere immediatelyA laptop was lost, or you suspect a stolen session
Disable two-factorClears the TOTP secret so the user can enrol againThey lost their authenticator and their recovery codes
DeactivateBlocks sign-in and stops the workspaces they ownOffboarding, or an account under investigation
caution

Disable two-factor removes a security control on someone else's account. Confirm the request out of band — a support ticket asking to disable MFA is exactly what an attacker sends. Every one of these actions is written to the audit log.

Per-user limits​

Three settings can be overridden per account, on top of the platform-wide defaults:

SettingMeaning
Can create workspacesAllow or Deny creating workspaces, whatever the workspace creation mode. Inherit follows it
Workspaces ownedHow many workspaces this user may create and own
Workspace membershipsHow many workspaces they may belong to as a non-owner

The account's detail page also shows how it signed up: self-service, a workspace invitation, created by an administrator, or an identity provider. Accounts created before this was recorded show nothing and are treated as not invited.

Leave them unset to inherit the limits of the user's organization, which falls back to the platform settings defaults (10 owned, unlimited joined). -1 is unlimited and 0 allows none, the same convention as everywhere else.

So a limit resolves in this order: this user's override → their organization → the platform setting. The first two are Enterprise capabilities and are skipped without a licence, which leaves the platform setting in charge — it is the one that always applies.

Deleting an account​

Deletion is scheduled, not immediate. It runs after a grace period (MIABI_DELETION_GRACE_DAYS, default 7), and until then it can be cancelled.

StepEffect
Deactivate firstScheduling is refused for an active account, so disable it first — that is what stops its workloads
Schedule deletionOptionally hands some of its owned workspaces to another member first, then sets a deletion date and signs the account out everywhere
Cancel deletionClears the deletion date. The account stays deactivated until you re-activate it
Force deletionFor an account already pending deletion: skips the rest of the grace period and tears down now

A workspace you transfer gets its new owner — who must already be a member — and survives. You cannot schedule or force the deletion of your own account.

When the deletion runs (the daily account-purge job, or a force deletion), the workspaces the user still owns are torn down with them — apps, databases, volumes and their data. Workspaces where they were only a member are untouched, they simply lose the membership.

caution

Force deletion destroys data immediately and cannot be undone. Take a workspace export of anything you might need first. The grace period exists precisely because this decision is often reversed within a day.

The last admin is protected​

Miabi refuses to remove platform-admin rights from, deactivate, or delete the last platform admin. There is no supported path to an instance nobody can administer.

Where to go next​