Skip to content
Luca edited this page Jun 17, 2026 · 3 revisions

First-Time Login

When you start the application for the first time with an empty database, the backend automatically creates an initial admin user.

⚠️ IMPORTANT The admin password is auto-generated (16 characters) and is printed only once in the backend startup logs. If you miss it, you will need to wipe the database volume and restart.

Steps

  1. Start the services:

    docker compose up -d
  2. Retrieve the generated password from the logs:

    docker compose logs backend | grep "INITIAL ADMIN PASSWORD"

    You will see output like:

    *** INITIAL ADMIN PASSWORD: aB3xK9mP2zR7vL8q — save this now, it will not be shown again ***
    
  3. Open the frontend at http://localhost:5173 and log in with:

    • Username: Admin
    • Password: (the generated password from step 2)
  4. On first login you will be prompted to change your password (the mustChangePassword flag is set).


Managing Users

Only administrators can create and manage users.

Creating a User

  1. Go to User Management
  2. Click Create User
  3. Fill in: first name, last name, username, email
  4. The system generates a random initial password — share it securely with the new user
  5. The new user must change their password on first login

User Actions

Action Description
Edit Change first name, last name, username, or email
Activate / Deactivate Temporarily disable a user's account
Change Role Promote a user to ADMIN or demote to USER
Reset Password Generate a new random password (user must change on next login)

Managing Persons

Persons represent individuals who may receive access to locks (e.g., employees, tenants).

  1. Go to Persons
  2. Click Create Person
  3. Enter the person's details
  4. The person is now available to be assigned access grants

Managing Locks

Locks can be created manually or synchronized from a supported vendor (e.g., ISEO).

Create a Lock

  1. Go to Locks
  2. Click Create Lock
  3. Select the vendor (e.g., ISEO)
  4. Fill in the required vendor-specific fields
  5. Save

Synchronize Locks (ISEO)

If you have configured ISEO vendor credentials, you can synchronize all locks from the vendor's system:

  1. Go to Locks
  2. Click Sync from ISEO
  3. All remote locks are imported and displayed in the list

Vendor Configuration

Before you can manage locks from a specific vendor, you need to configure the vendor's API credentials.

  1. Go to Vendor Configuration
  2. Click Add Vendor Data
  3. Select the vendor (e.g., ISEO, Assa Abloy AMOQ)
  4. Fill in the required authentication fields
  5. Save

The credentials are encrypted at rest using the APP_SECURITY_MASTER_KEY.


Granting Access

Access grants define who can open which lock during a specific time window.

  1. Go to Access Grants
  2. Click Grant Access
  3. Select a Person
  4. Select a Lock
  5. Set start and end date/time
  6. Save

The grant is provisioned to the vendor's system (e.g., ISEO) if applicable.

Revoking Access

  1. Find the access grant in the list
  2. Click Revoke
  3. The permission is removed from both the local system and the vendor

Audit Logs

Every relevant action (user creation, access grant, lock sync, etc.) is logged in the audit trail.

  1. Go to Audit Logs
  2. Use the date filter and search to narrow results
  3. Each entry shows: timestamp, actor, action type, and details

Clone this wiki locally