Quick Start

Get Elmo running on your infrastructure in under 5 minutes using the CLI.

Prerequisites

  • Docker — Docker Engine 24+ with Docker Compose v2
  • Node.js — 18.x or later (for the CLI)
  • At least one AI provider API key (OpenAI or Anthropic)

Install the CLI

npm install -g @elmohq/cli

Initialize Your Instance

Run the interactive setup wizard:

elmo init

The wizard walks you through:

  1. Config directory — Where to store your elmo.yaml and .env files (default: ./elmo)
  2. PostgreSQL — Run Postgres in Docker (recommended) or provide an existing DATABASE_URL
  3. AI Providers — Configure scrapers (BrightData, Olostep, DataForSEO) and/or direct model APIs (OpenAI, Anthropic, Mistral, OpenRouter); see Providers for details
  4. Start — Optionally start the stack immediately

Once complete, Elmo generates two files in your config directory:

FilePurpose
elmo.yamlDocker Compose configuration for all services
.envEnvironment variables, secrets, and API keys

Start Elmo

If you didn't start during init, bring everything up with:

elmo compose up -d

This pulls the Docker images and starts all services. Once they report healthy, open http://localhost:1515 in your browser.

System Architecture

Elmo system architecture: User connects to Web; Web and Worker share a Postgres database; Web calls LLM APIs; Worker calls both LLM APIs and an LLM Scraper.
ServiceRole
WebDashboard UI and REST API
WorkerBackground scheduler that drives prompt runs
PostgresShared database and job queue
LLM APIsDirect API calls (OpenAI, Anthropic, OpenRouter)
LLM ScraperScrapers for ChatGPT, Claude, and Google AI Mode (Brightdata, Olostep)
Elmo CLIGenerates elmo.yaml + .env and runs docker compose

CLI Commands Reference

Once Elmo is running, these commands help you manage it:

# View live logs
elmo compose logs -f

# View logs for a specific service
elmo compose logs -f web

# Check service status
elmo compose ps

# Stop all services
elmo compose down

What's Next

With Elmo running, head to the User Guide to create your first brand, configure prompts, and start tracking AI visibility.

Was this page helpful?