Skip to main content
Docker Compose is the simplest deployment option, all services are deployed on a single node. For high availability, auto-scaling, or multi-region deployments, see AWS Deployment with Terraform.

Prerequisites

  • Linux/macOS/Windows with WSL
  • Docker 24.0+ with Compose v2 installed
Memory and storage might need to be adjusted depending on the total data indexed.

Step 1: Download Docker Compose Configuration

To download a specific version, replace latest/download with download/v0.1.9 in the URL above.

Step 2: Setup Environment

Edit .env and update the following variables:
See Configuration Reference for all options.

Step 3: Start Services

For convenience, define an alias:
Start Omni:
Monitor startup:
Access at https://<your_domain_name>. First user becomes admin. Once all services are healthy, follow the Initial Setup guide to configure LLM providers, embeddings, and connectors.

Self-hosted Local Inference

To run LLMs and/or embedding models locally alongside Omni, use the docker-compose.local-inference.yml overlay. It starts:
  • A llama.cpp container serving an OpenAI-compatible LLM endpoint
  • A HuggingFace TEI container serving an embedding endpoint
Start with local inference enabled:
Then in the admin panel, add an OpenAI-compatible LLM provider pointing at http://llama-cpp:${LOCAL_INFERENCE_MODEL_PORT}, and (optionally) the Local embedding provider at http://embeddings:${LOCAL_EMBEDDINGS_PORT}/v1. The two containers are independent, so you can mix a cloud LLM with a local embedding model, or vice versa. GPU acceleration can be enabled by editing the overlay to pass through the appropriate device.

Document Conversion (Docling)

Docling is optional. It provides higher-fidelity extraction for PDFs, Office documents, HTML/Markdown, CSV, LaTeX/AsciiDoc, and common image formats. To deploy the service with Docker Compose:
You can also add docling to COMPOSE_PROFILES in .env if you want the service to start with normal omni-compose up -d runs. Once the service is running, use SettingsDocument Conversion to turn Docling extraction on or off and choose a quality preset.
DOCLING_ENABLED=true exposes the Document Conversion settings page in the admin UI. The Compose docling profile deploys the actual omni-docling container.

Stopping Services

To stop all services:
To stop and remove all data (including the database):
The -v flag will permanently delete all indexed data and settings.

Troubleshooting

Check Docker logs for errors:
Common causes:
  • Port 3000 already in use
  • Missing environment variables
Verify the web service is running:
Check if the port is accessible:
Ensure PostgreSQL is fully started:
Wait for the message: “database system is ready to accept connections”
Check your LLM provider configuration in the admin panel:
  • Confirm whether you set the API keys
  • Review AI service logs:

Next Steps

Initial Setup

Configure LLMs, embeddings, and connectors

Connect Data Sources

Google, Slack, Confluence, etc.

Configuration Reference

All environment variables

User Management

Add users and permissions