Skip to content

Installation with Docker Compose

The fastest way to a running instance is docker compose.

Clone the repository

git clone https://github.com/lalabase/lalabase.git
cd lalabase
cp .env.example .env

Start the stack

Adjust your .env (see environment variables) and then start all services:

docker compose up -d

Verify that all containers are running:

docker compose ps
Note

The first migration may take a few minutes while the vector extension builds its indexes.

Prepare the database

On first start, migrations run automatically. Then load the seeds:

docker compose exec web bin/rails db:seed

On a server the seeds load reference data only, namely the global chat personas. They create no accounts and delete nothing. Sample accounts exist only in the development environment, never on a server.

Warning

Running db:seed again resets the global chat personas to their shipped state. If you changed them in the admin area, leave the seeds alone afterwards.

Create the first admin

A fresh instance has no admin yet. Create the first one with this command:

docker compose exec web bin/rails lalabase:setup

The command asks for an email address and a password in the terminal. Without a terminal, for example in a script, pass both as environment variables:

docker compose exec \
  -e LALABASE_ADMIN_EMAIL=admin@example.org \
  -e LALABASE_ADMIN_PASSWORD='a-long-password' \
  web bin/rails lalabase:setup
  • The password needs at least 12 characters.
  • If the values are missing and there is no terminal, the command stops with a message.
  • If an admin exists already, the command refuses. You manage further admins in the admin area.

Then sign in at /admin. Create the first user account through the registration at /users/sign_up. The command itself creates no organisation and no user account.