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.
With Docker Compose
Section titled “With Docker Compose”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}docker compose up -dThen 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.
Adding accounts
Section titled “Adding accounts”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:
openssl rand -base64 32Every 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:
cp .env.example .envdocker compose up -dWith Docker directly
Section titled “With Docker directly”docker run --rm -d -p 4173:4173 --name llooma ghcr.io/cedhuf/llooma:latestNothing 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.
Updating
Section titled “Updating”docker compose pull && docker compose up -dConnecting to Ollama on another machine
Section titled “Connecting to Ollama on another machine”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:
OLLAMA_HOST=0.0.0.0 ollama serveSee Ollama’s FAQ for the details.
From source
Section titled “From source”pnpm installpnpm run devRequires Node 26 and pnpm. See Working on Llooma.
Once it is running, First run takes you from an empty app to a first answer.

