Skip to content

Roles and Permissions

BadgerPanel uses role-based access control (RBAC) to manage what users can see and do in the admin panel. Every user is assigned one role, and each role carries a set of permissions that determine which admin features are accessible.


Default Roles

BadgerPanel includes three built-in roles. These system roles cannot be renamed or deleted.

RoleIDDescription
Admin1Full access to all admin features. Cannot be restricted.
Moderator2Configurable subset of admin permissions, typically used for support staff.
User3Standard customer role with no admin panel access. This is the default role for new registrations.

Creating a Custom Role

  1. Navigate to Admin > Roles and click Create Role.
  2. Enter a Name and optional Description.
  3. Configure the Rate Limit Multiplier (see below).
  4. Select the permissions to grant from the available categories.
  5. Click Save.

Permission Reference

The following table lists all available permissions organized by category.

CategoryPermissionDescription
Serversadmin.servers.listView the server list in the admin panel
admin.servers.createCreate new servers
admin.servers.updateEdit server settings and configuration
admin.servers.deleteDelete servers
admin.servers.powerSend power actions (start, stop, restart, kill)
admin.servers.suspendSuspend and unsuspend servers
Nodesadmin.nodes.listView the node list
admin.nodes.createAdd new nodes
admin.nodes.updateEdit node settings
admin.nodes.deleteRemove nodes
Usersadmin.users.listView the user list
admin.users.createCreate new user accounts
admin.users.updateEdit user details and roles
admin.users.suspendSuspend and unsuspend user accounts
Rolesadmin.roles.listView the role list
admin.roles.createCreate new roles
admin.roles.editEdit existing roles and their permissions
Eggsadmin.eggs.listView eggs and nests
admin.eggs.importImport eggs from JSON files
admin.eggs.editEdit egg settings and variables
Kubernetesadmin.kubernetes.listView Kubernetes orchestrators
admin.kubernetes.manageCreate, edit, and delete orchestrators
Billingadmin.billing.settingsConfigure billing settings and payment gateways
admin.billing.productsManage billing products and pricing
admin.billing.ordersView and manage customer orders
Settingsadmin.settings.generalAccess general panel settings
admin.settings.securityConfigure security settings (2FA enforcement, registration, etc.)
admin.settings.mailConfigure email/SMTP settings
Supportadmin.support.ticketsView and respond to support tickets
admin.support.categoriesManage support ticket categories
Auditadmin.audit.viewView the audit log
Webhooksadmin.webhooks.manageCreate, edit, and delete webhooks
Cloudflareadmin.cloudflare.manageManage Cloudflare DNS integration settings

Rate Limit Multiplier

Each role has a rate limit multiplier that controls how many API requests users with that role can make per minute. The multiplier adjusts the base rate limit:

  • Default value: 1.00 (standard rate limit)
  • Range: 0.01 to 99.99
  • Higher values allow more requests per minute (e.g., 2.00 doubles the allowed rate)
  • Lower values reduce the allowed rate (e.g., 0.50 halves it)

This is useful for giving staff accounts higher rate limits while keeping customer accounts at the default, or for throttling specific roles that should have reduced API access.


Assigning Roles to Users

To change a user's role:

  1. Navigate to Admin > Users and open the user's detail page.
  2. Select the new role from the Role dropdown.
  3. Click Save.

The role change takes effect immediately. The user's permissions and rate limits update on their next request.


Default Role for New Registrations

New users who register through the panel or OAuth are automatically assigned the User role (ID 3). This ensures new accounts have no admin access by default. To change which role is assigned to new registrations, update the default role setting in Admin > Settings > Security.


Next Steps

BadgerPanel Documentation