Skip to content

User Management

License

Creating, updating, and deleting users requires an active self-host license. See the pricing page for current availability.

User management is available when auth.mode: builtin is enabled.

What This Page Is For

Use user management when you need to:

  • create accounts for teammates
  • assign roles such as admin, manager, developer, operator, or viewer
  • limit access to specific workspaces
  • reset builtin-user passwords
  • disable or remove accounts

Most teams do this from the Web UI at /users.

First Admin Setup

On a fresh self-hosted installation with builtin auth, Dagu needs one admin account before anyone can sign in.

You can create that first admin in four ways:

  1. Installer: the guided install scripts can collect the first admin credentials.
  2. Config or environment variables: set initial_admin before startup.
  3. Setup page: Dagu redirects a fresh install to /setup.
  4. API: call the setup endpoint directly.

Example:

bash
curl -X POST http://localhost:8080/api/v1/auth/setup \
  -H "Content-Type: application/json" \
  -d '{"username":"admin","password":"your-password"}'

Roles

RoleWhat It Is Typically Used For
adminFull control, including users, API keys, and auth settings
managerWorkflow administration plus audit/event visibility
developerBuild, edit, run, and troubleshoot workflows
operatorRun and monitor workflows without editing them
viewerRead-only access

Workspace Access

User access can apply to every workspace or only selected ones.

All Workspaces

Use this when the same role should apply everywhere.

Examples:

  • platform admins
  • operators who manage all environments
  • developers working across all teams

Selected Workspaces

Use this when one person should see only specific workspaces or should have different roles in different workspaces.

Typical pattern:

  • set the user's top-level role to viewer
  • grant a role per workspace, such as developer in ops and operator in prod

What Users See

Workspace access affects workspace-aware pages such as:

  • Definitions
  • Runs
  • Cockpit
  • Search

Items with no named workspace still appear in the default workspace view.

If you need strict tenant separation rather than scoped visibility inside one installation, run separate Dagu deployments.

Everyday Tasks In The Web UI

Create A User

  1. Open Admin > Users
  2. Click Create User
  3. Enter username and password
  4. Choose a role
  5. Choose All workspaces or Selected workspaces
  6. Save

Reset A Password

  1. Open the user in Admin > Users
  2. Choose Reset Password
  3. Enter the new password

Password reset is available only for builtin users. OIDC and proxy users authenticate outside Dagu, so Dagu does not offer password reset or password change actions for them.

Disable A User

Disable the account when you want to preserve history and ownership but block sign-in.

Delete A User

Delete the account when it should be removed entirely. Dagu does not let you delete your own active admin account from the same session.

API For Automation

All user-management endpoints require admin access. On self-hosted Dagu, create, update, and delete operations also require the needed self-host license.

ActionEndpoint
List usersGET /api/v1/users
Create userPOST /api/v1/users
Get one userGET /api/v1/users/{userId}
Update userPATCH /api/v1/users/{userId}
Delete userDELETE /api/v1/users/{userId}
Reset a builtin user's passwordPOST /api/v1/users/{userId}/reset-password
Change your own builtin passwordPOST /api/v1/auth/change-password

Create A User With Access Everywhere

bash
curl -X POST http://localhost:8080/api/v1/users \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "username": "alice",
    "password": "min-8-chars",
    "role": "developer",
    "workspaceAccess": { "all": true }
  }'

Create A User For Selected Workspaces

bash
curl -X POST http://localhost:8080/api/v1/users \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "username": "bob",
    "password": "min-8-chars",
    "role": "viewer",
    "workspaceAccess": {
      "all": false,
      "grants": [
        { "workspace": "ops", "role": "developer" },
        { "workspace": "prod", "role": "operator" }
      ]
    }
  }'

Password Rules

  • minimum length: 8 characters
  • builtin users can change their own password after signing in
  • admins can reset passwords for other builtin users
  • OIDC and proxy users cannot use or set a Dagu password

Use a password manager or SSO/OIDC for larger teams.

Dagu is open source under the GNU General Public License v3.0.