Installation

Datalumo installs with one command. It pulls the Docker image, sets up HTTPS, starts the server, and prints your admin key. On a fresh server it takes a few minutes.

Before you start

You'll need:

  • A server with Docker and Docker Compose. Any small VPS works. (See System requirements.)
  • A domain pointed at the server with a DNS A record, plus ports 80 and 443 open. This is how Datalumo gets a TLS certificate.
  • An API key from a supported provider (OpenAI, Anthropic, Mistral, Gemini, or xAI), or a local model (Ollama and friends, no key needed).
  • Your Datalumo license key (dl_lic_…).

Install

Run this on the server:

curl -fsSL https://get.datalumo.app/install.sh | bash

It asks for your license key, your domain, and your provider key, then does the rest: logs in to the registry, pulls the image, starts everything behind Caddy with automatic HTTPS, and prints your admin key.

Prefer to set it up without prompts? Pass the answers as environment variables:

DATALUMO_LICENSE_KEY=dl_lic_… DOMAIN=ai.example.com OPENAI_API_KEY=sk-… \
  bash -c "$(curl -fsSL https://get.datalumo.app/install.sh)"

When it finishes, open https://your-domain/admin and sign in with the admin key it printed.

Database

Datalumo uses SQLite by default. No setup, one file, right for most installs.

Pick Postgres if you expect a very large amount of content, run at high scale, or already run it. The installer can set it up, or point Datalumo at your own.

Add Redis only if you run several instances that need shared rate limiting.

Switching later means re-ingesting your content, so it's best to make a well considered choice.

Your admin key

The installer prints the admin key once. To see it again:

docker compose exec datalumo cat /app/data/admin-key

Use it to sign in to the admin UI, and as Authorization: Bearer <key> for the API.

Try it locally first

Want to kick the tires on your laptop before committing a domain? Run without TLS:

docker run -d --name datalumo -p 3000:3000 \
  -v datalumo_data:/app/data \
  -e OPENAI_API_KEY=sk-… \
  registry.datalumo.app/datalumo:latest

Open http://localhost:3000/admin. Everything works the same, just over plain HTTP on your machine.

Running CLI commands

The dl command lives inside the container. Run it like this:

docker compose exec datalumo dl index create docs
docker compose exec datalumo dl doctor

dl doctor checks your providers, stores, and config. Run it any time something looks off.

Updating provider keys

Set or change a provider key after install, then restart:

docker compose exec datalumo dl env set OPENAI_API_KEY=sk-…
docker compose restart datalumo

Next steps