Skip to content

Demo mode

Demo mode turns an instance into a public demo: anybody signs in with one published login, looks around an invented software company, and whatever they change is gone the next morning. Use it to show Lalabase to clients or colleagues without creating accounts for them.

A separate instance

Run the demo on an instance of its own, never on one with real data. The nightly reset empties the database apart from the instance settings.

Switching it on

Set one environment variable for the web process and the worker:

LALABASE_DEMO=1

Only the value 1 counts. Without it, nothing on this page applies.

Then create the demo once, on a fresh instance:

docker compose exec web bin/rails lalabase:demo:setup

The task refuses if the instance has any organisation. It closes the registration, builds the demo company and prints the login.

What visitors see

  • The sign-in page shows the demo login and a button that fills it in. There is no link to register.
  • Every page after signing in shows a banner: all visitors share this account, and everything is reset every night at 03:00 UTC.
  • The demo person is a project lead, not an account admin. AI settings, roles and billing are out of reach.
  • Every page is in English, whatever the browser or a link asks for: the demo company is written in English.

What is switched off

Every visitor uses the same account, so whatever is stored on the person is stored for everybody, and whatever leaves the instance leaves with its name on it. In demo mode:

  • Changing the email address or the password, resetting the password, deleting the account, personal access tokens (API, MCP), personal preferences and the data export are blocked.
  • Creating organisations and inviting people is blocked.
  • Connecting repositories, documentation sets and the codebase import are blocked: each would make the instance fetch from an address a visitor types.
  • No email leaves the instance.
  • Every response carries X-Robots-Tag: noindex, so search engines do not index what visitors write.
  • A file may be at most 5 MB, and a direct upload only an image or a PDF file. Each address can upload 30 files an hour, and all stored files together stop at 1 GB until the next reset.
  • Failed sign-ins never lock the demo login.

The nightly reset

The worker resets the demo every night at 03:00 UTC. It empties every table except the admins, the system settings, the AI credentials and packages and the price lists, deletes the uploaded files and builds the demo company again. Visitors who are signed in at that moment are signed out.

To reset by hand:

docker compose exec web bin/rails lalabase:demo:reset

The reset runs only when both are true: LALABASE_DEMO=1 is set, and the instance was set up with lalabase:demo:setup. Setting the variable on another instance by mistake deletes nothing.

AI in the demo

The demo company uses the instance's own AI credential (see AI keys). Two limits keep the cost in check:

  • Mark the credential with Counts against quota in the admin area. The usage of an organisation is counted per month, and the reset starts it from zero, so the monthly quota becomes a daily one.
  • Each address can call a model 10 times in 10 minutes: the assistant, summaries, meeting analyses, ticket suggestions and the other AI functions together.
A hard limit

The quota counts answers, not money. For a real upper limit, use a separate key at your provider with a prepaid budget and automatic top-up turned off.