1

Dashboard

The web dashboard, API, and database, updated from Settings with a backup first.

Update the dashboard
2

Kiosks

The software on each Raspberry Pi, updated from the Kiosks page one device at a time.

Update kiosks
3

Plugins

Added, upgraded, or removed in Settings, then deployed like a dashboard update.

Manage plugins

Set up one-click updates

One-click dashboard updates need a GitHub token that lets your installation start the update workflow in your private repository. Without it, you can still update by running the workflow yourself.

  1. Open GitHub's new fine-grained token page.
  2. Set Resource owner to the account or organization that owns your private deployment repository.
  3. Under Repository access, choose Only select repositories and select only your deployment repository.
  4. Under Repository permissions, set Actions to Read and write. GitHub adds Metadata: Read-only automatically. That is all one-click updates need; updating your repository's workflow files needs a few more.
  5. Choose an expiration, generate the token, and copy it.
  6. In your private repository, open Settings › Environments › production and add it as the environment secret LANCERLOGIN_WEB_UPDATE_TOKEN.
  7. Run Actions › Refresh web update credential › Run workflow to give the token to your installation. The next install or upgrade run also installs it.
GitHub New fine-grained personal access token page with the token name LancerLogin web updates, a description, a Resource owner, a 7-day expiration, Repository access set to Only select repositories with one private repository selected, and the Actions permission set to Read and write.
Limit the token to your deployment repository.
GitHub token permissions with Only select repositories and one repository selected, Actions set to Access: Read and write, Metadata marked Required with Access: Read-only, and the Generate token button.
Actions: Read and write is the only permission you add.

LancerLogin reads the token's expiry from GitHub, so you do not record it anywhere. Settings › Updates shows a Setup status panel with rows for the Dashboard update credential, the Update controller workflow, the optional Plugin management credential (with numbered steps to set it up), the Latest credential refresh, and the Repository workflow files. Each row shows a status such as Ready, Expiring soon, Expired, Rejected by GitHub, Not set up, Update needed, Missing, or Not checked. Until the token is installed, the page says Dashboard updates are not set up yet. A banner appears 14 days before the token expires. To replace a token, create a new one with the same settings, replace the secret, and run Refresh web update credential again.

Keep your repository's workflow files current

Dashboard updates install a new release but never change the files in your private repository, so its workflows can fall behind. Settings › Updates › Setup status checks them:

  1. If Repository workflow files says Update available, choose Update repository files. LancerLogin opens a pull request in your repository with this release's workflow files. Your plugin selection and secrets are not changed.
  2. Choose Review and merge it on GitHub, check the changes, and merge the pull request.
  3. Return to the page. The row checks again when you come back to the tab; choose Check again to check now.

This needs three more permissions on the dashboard update token: Contents, Pull requests and Workflows, each Read and write. If one is missing, the row says which one and how to add it. Editing a token's permissions keeps the same token, so you do not need to replace the secret. You can remove the permissions again after merging.

The Latest credential refresh row shows whether the last Refresh web update credential run worked and, if not, why, with a link to the run. Choose Check again after a run finishes to see its result at once. To see the reason, the token also needs Checks: Read-only. If a run stopped without a reason, your repository probably has an older refresh workflow: use Update repository files, then run the workflow again. The refresh workflow itself always uses the script from your installed release when it can find it.

Update the dashboard

An Admin sees a notice when a newer release is available on the installation's update track. Read its release notes first.

  1. Open Settings › Updates. The Dashboard card shows the installed and available releases. A newly published release can take up to 15 minutes to appear on its own; with one-click updates set up, Check for updates asks GitHub straight away.
  2. Choose Back up and begin update and review the release notes for the update.
  3. Choose Download entire-installation backup and save the file somewhere safe outside the installation. Then select I saved this update’s entire-installation backup file securely.
  4. Choose Start update to v<version> once. If your production environment has required reviewers, choose Review approval in GitHub and approve the run.
  5. Wait while the card shows progress. Kiosks keep saving scans during the update and send them afterwards. Refreshing the page shows the same progress and never starts a second update.
  6. When the card reports that the update is verified, choose Reload updated dashboard.

If the card says recovery is required, stop. Do not start another update and do not restore the backup. Open Diagnostics and manual recovery on the card for the workflow run, then see Troubleshoot an update.

Update without the one-click token

  1. Download an entire-installation backup from Settings › Data and keep it safe.
  2. In your private repository, open Actions › Install or upgrade LancerLogin › Run workflow.
  3. Choose operation upgrade, keep release latest stable, enter your installation slug, and select Run workflow. Approve the production deployment if it waits for a reviewer.
  4. When the run succeeds, reload the dashboard and check Settings › Updates for the installed release.

The upgrade uses the LANCERLOGIN_INSTALLATION_SLUG, LANCERLOGIN_DATABASE_ID, and LANCERLOGIN_API_URL environment variables you saved after installation. See Save the installation variables.

Update kiosks

Update the dashboard first. Then, for each kiosk:

  1. Open Kiosks, select the kiosk, and check that it is online.
  2. When a newer release is offered, choose Update kiosk.
  3. Wait for the kiosk to restart and come back online. Its status shows the installed release. Other kiosks keep working while it updates.

The kiosk downloads only an official release and checks it before switching. If the new release does not start correctly, the kiosk switches back to the previous release by itself, and the dashboard reports that the update failed. Pairing, fingerprint links, the PIN, and waiting scans are kept either way. If no result appears, do not press Update kiosk repeatedly; see Troubleshoot a kiosk.

Choose an update track

Open Settings › Updates › Update track. Stable is the default and offers only stable releases. Beta also offers beta releases before they become stable; choose it, confirm the warning, and choose Save update track. The track applies to the dashboard and to kiosk updates.

Changing the track never installs anything by itself. Going back to Stable does not downgrade: you stay on the installed release until a newer stable release is published.

Add, update, or remove plugins

Plugins are code that runs inside your installation with the same access as LancerLogin itself. Add only plugins whose source you trust.

To manage modules from the dashboard, open Settings › Modules › Manage modules. Every module is one row on the Modules card, labelled Built-in or Git repository. Turning a module on or off takes effect when you save. Adding, updating, or removing a module from a git repository commits the change to your private repository and marks it Not deployed, and Apply changes on the same card deploys it with the same backup-first steps as a dashboard update. A release update also deploys pending plugin changes. Each module from a git repository shows its repository, version and commit, and the latest release on its track, for example Latest on Stable: v0.2.1. When a newer release is available, the row says Update available and its Update button is highlighted. Remove a module only after turning it off and letting its data be deleted. A repository that provides more than one module cannot be added.

Dashboard plugin management needs a separate optional GitHub token, LANCERLOGIN_MODULE_SELECTION_TOKEN. Without it, edit lancerlogin.modules.json in your private repository and run an upgrade. Both methods are described in the module plugins reference.

Upgrade from LancerLogin 1

An existing LancerLogin 1 installation updates in place, keeping its data, accounts, and paired kiosks. Install the 1.2.6 bridge release on the dashboard and on each kiosk first, then follow the upgrade guide.