Users & roles

Two roles: admin and regular. Both can send and receive packages; admins additionally see/manage everyone's packages, users, settings, webhooks, and audit log.

Roles in detail

ActionRegularAdmin
Create outbound packages✓✓
Create inbound upload requests✓✓
See own packages✓✓
See all packages (every user's)—✓
Change own password✓✓
Create / manage API tokens (own)✓✓
Manage users (create, disable, reset password)—✓
Configure mail / site / webhooks—✓
View audit log—✓

Creating users

Web UI

  1. Sign in as admin → Users in the top nav
  2. Scroll to "Create user"
  3. Enter email, display name, password (≥10 chars), role
  4. Click Create

CLI

# Bare-metal:
sudo -u speedyfiles /opt/speedyfiles/.venv/bin/python -m app.cli create-user \
  --email new@example.com --name 'New Person' \
  --role regular --password 'their-temp-password'

# Docker:
docker exec speedyfiles python -m app.cli create-user \
  --email new@example.com --name 'New Person' \
  --role regular --password 'their-temp-password'

First-run wizard

On a fresh install, the first user is created via /setup and is automatically the admin. See First-run wizard.

Password policy

Disabling a user

Admin → Users → Disable button next to the user. Disabled users:

To fully remove a user's footprint: delete all their packages first, then disable.

Password reset (for users)

The forgot-password page sends an emailed reset link valid for 2 hours. Single-use.

Admins can also reset a password directly from Users → click the user's row → "Reset password" → enter new password.

OIDC / SSO

On the roadmap for v0.2. Track at GitHub Issues under the oidc label. Until then, all auth is local.