Skip to content

Installation

Docker images are published to ghcr.io/cedhuf/llooma on every release. :latest always points at the newest one; each release is also tagged with its version (:0.8.0) if you would rather pin.

The recommended way. You do not need to clone anything: write this docker-compose.yml next to a .env file and you are done.

services:
llooma:
image: ghcr.io/cedhuf/llooma:latest
restart: unless-stopped
ports:
- '${HOST_PORT:-4173}:4173'
volumes:
- ./data:/app/data
environment:
- DATA_DIR=/app/data
- VITE_ALLOWED_HOSTS=${VITE_ALLOWED_HOSTS:-localhost}
Terminal window
docker compose up -d

Then open http://localhost:4173.

That is a personal instance: no login screen, one implicit owner created on first run, and nothing else to configure. ./data is everything, the SQLite database included, so back up that directory and you have backed up the instance.

Configure a way to sign in and the same container becomes a shared instance:

environment:
- DATA_DIR=/app/data
- AUTH_CREDENTIALS=true
- ADMIN_EMAIL=${ADMIN_EMAIL}
- ADMIN_PASSWORD=${ADMIN_PASSWORD}
- VITE_ALLOWED_HOSTS=${VITE_ALLOWED_HOSTS:-localhost}

AUTH_SECRET is optional: the instance generates one on first run and keeps it in the database with the data it protects. Set it yourself, before first run, if you would rather hold it:

Terminal window
openssl rand -base64 32

Every variable is listed in Configuration. See Personal or shared for what changes.

The repository also ships a docker-compose.yml and a .env.example if you would rather start from those:

Terminal window
cp .env.example .env
docker compose up -d
Terminal window
docker run --rm -d -p 4173:4173 --name llooma ghcr.io/cedhuf/llooma:latest

Nothing is persisted without a volume: bind-mount DATA_DIR (-v ./data:/app/data -e DATA_DIR=/app/data) or the instance starts empty every time.

Terminal window
docker compose pull && docker compose up -d

If your Ollama server runs on a separate device, the Llooma server is what reaches it, so Ollama has to listen somewhere other than loopback:

Terminal window
OLLAMA_HOST=0.0.0.0 ollama serve

See Ollama’s FAQ for the details.

Terminal window
pnpm install
pnpm run dev

Requires Node 26 and pnpm. See Working on Llooma.

Once it is running, First run takes you from an empty app to a first answer.