Skip to main content

📝 Admin Notes

Enable the Pocketbase web UI​

Enable the pocketbase UI by running the following commands on your Ludus host.

set-environment LUDUS_ENABLE_SUPERADMIN=ill-be-careful
systemctl restart ludus

You can then browse to the pocketbase admin page at https://<Ludus IP>:<port>/admin (default port: 8080)

Log in with the username root@ludus.internal and the password the full ROOT API key from /opt/ludus/install/root-api-key

Disable the Pocketbase web UI​

You can disable the pocketbase web interface by running the following commands

unset-environment LUDUS_ENABLE_SUPERADMIN
systemctl restart ludus

Promoting/Demoting a user to/from admin​

  1. Enable the Pocketbase web UI as detailed above and log in. You can select a user in the users table and toggle the isAdmin toggle. Remember to click Save changes.
  2. Add the user to the ludus_admins group in the Proxmox Web UI or run pveum user modify <username>@pam --groups ludus_admins --append

Default ranges for new users​

By default, Ludus creates a default range for each new user, including automatically provisioned SSO users and the initial admin account. To create users without a default range, set:

/opt/ludus/config.yml
create_default_range: false

The default is true when this setting is omitted. Setting it to false skips the range record, range files, network and Proxmox pool setup, and range-specific permissions. User account provisioning continues normally.

This setting only affects new users; it does not remove or change existing ranges. Create or share ranges separately as needed. To also allow account creation on first SSO login, set sso_require_existing_user: false; see SSO account requirements.

Forcing a range out of testing mode​

Enable the Pocketbase web UI as detailed above and log in. Select the ranges table and click on the range. Toggle the testingEnabled toggle. Remember to click Save changes.

Log history retention​

Ludus keeps the last 100 deploy/build logs per range and per user (for template builds). To change this limit:

/opt/ludus/config.yml
max_log_history: 25
systemctl restart ludus

Auto shutdown (enterprise)​

Ludus can automatically power off idle ranges after a configurable timeout. Set a server-wide default in the config file:

/opt/ludus/config.yml
inactivity_shutdown_timeout: 4h

The value is a Go duration string (e.g. 4h, 30m, 1h30m). Set to 0 or omit to disable. Changes are picked up automatically without restarting the services.

Individual ranges can override the server default with ludus range auto-shutdown set --timeout <duration>. See the Auto Shutdown docs for details.

Get the total resources for a range config​

yq '{"Total VMs": (.ludus.[] as $vm_item ireduce (0; . + 1)),"Total CPUs": (.ludus.[] as $vm_item ireduce (0; . + $vm_item.cpus)),"Total RAM (GB)": (.ludus.[] as $vm_item ireduce (0; . + $vm_item.ram_gb))}' /opt/ludus/range/<rangeID>/range-config.yml