Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.getomni.co/llms.txt

Use this file to discover all available pages before exploring further.

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
ResourceRecommended
CPU4 cores
RAM8 GB
Storage50 GB SSD
Memory and storage might need to be adjusted depending on the total data indexed.

Step 1: Download Docker Compose Configuration

# Create project directory
mkdir omni && cd omni

# Download the latest release
# See https://github.com/getomnico/omni/releases for available versions
curl -fsSL "https://github.com/getomnico/omni/releases/latest/download/omni-docker-compose.tar.gz" \
  -o omni-docker-compose.tar.gz
tar xzf omni-docker-compose.tar.gz
rm omni-docker-compose.tar.gz
To download a specific version, replace latest/download with download/v0.1.4 in the URL above.

Step 2: Setup Environment

cp .env.example .env
Edit .env and update the following variables:
# Database (generate a secure password, e.g., openssl rand -base64 32)
DATABASE_PASSWORD=<your_db_password>

# Security (generate secure keys)
ENCRYPTION_KEY=$(openssl rand -hex 16)    # Must be at least 32 characters
ENCRYPTION_SALT=$(openssl rand -hex 8)    # Must be 16 characters

# Application
OMNI_DOMAIN=<your_domain_name>
APP_URL=https://<your_domain_name>
ACME_EMAIL=<your_email>

# Enabled Connectors
# Specify connector names as a comma-separated string
# Available: google, slack, atlassian, web, github, notion, hubspot, fireflies,
#            microsoft, filesystem, imap, linear, clickup, nextcloud, paperless
ENABLED_CONNECTORS=google,slack,web
See Configuration Reference for all options.

Step 3: Start Services

For convenience, define an alias:
alias omni-compose="docker compose -f docker/docker-compose.yml --env-file .env"
Start Omni:
omni-compose up -d
Monitor startup:
omni-compose logs -f
omni-compose ps # all services should show "healthy"
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:
omni-compose -f docker/docker-compose.local-inference.yml up -d
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.

Stopping Services

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

Troubleshooting

Check Docker logs for errors:
omni-compose logs
Common causes:
  • Port 3000 already in use
  • Missing environment variables
Verify the web service is running:
omni-compose ps omni-web
Check if the port is accessible:
curl http://localhost:3000
Ensure PostgreSQL is fully started:
omni-compose logs postgres
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:
omni-compose logs omni-ai

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