selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

Omni logo

Self-host Omni

v0.1.26

AI agent that works across your company's tools

BetaOpen SourceApache-2.0
Updated4 weeks ago
LanguageRust
Setup difficultyAdvanced
Stars
808
CPU
4 cores
RAM
8 GB
Storage
50 GB SSD
Ports
3000 (SvelteKit web application), 3001 (Search service), 3002 (Indexer service), 3003 (AI service), 3004 (Connector manager), 8090 (Code execution sandbox)
Requires
PostgreSQL with ParadeDB, Redis
Docker
ghcr.io/getomnico/omni-web-enterprise
Install with Docker Compose

What is Omni?

Omni is an open-source AI agent built for organization-wide deployment. It connects to business applications to create a unified, permission-aware knowledge base. Team members can ask Omni to research problems, draft updates, examine data, locate details, or perform supported actions across linked platforms from one conversation. The agent runtime allows sandboxed Python and bash execution for data analysis and file inspection. Omni relies on PostgreSQL with ParadeDB for combined BM25 and vector search, removing the need for separate Elasticsearch or vector databases. It works with many LLM providers including major cloud services and any OpenAI-compatible endpoint. Deployment choices include Docker Compose for single-server setups and Terraform for AWS or GCP production environments. The platform can be extended through MCP and Connector SDKs for custom integrations. Enterprise single sign-on with Okta or Microsoft Entra ID requires a commercial license, while Google OAuth is available in the community edition.

Should you self-host Omni?

Omni scores 51/100 on selfhost.directory (how scoring works) and ranks #33 of 120 in AI Assistant. It has 808 GitHub stars.

It shipped 10 stable releases in the past year. The latest, v0.1.26, came out on 28 September 2026. New versions land roughly every 2 days.

Setup is advanced: plan for several services and some ongoing maintenance. An official Docker image is available. It is Apache-2.0-licensed and written mostly in Rust.

Its closest alternative on selfhost.directory is private-gpt (81/100, 57 614 stars). It scores higher overall, so compare the two before you pick. See Omni vs private-gpt side by side.

Features

  • Background agentsRequires AGENTS_ENABLED=true
  • Cross-tool task execution
  • Docker Compose and Terraform deployment
  • Document conversion with DoclingOptional, enabled via DOCLING_ENABLED=true
  • Extensible with MCP and Connector SDKs
  • Grounded answers with citations
  • Hybrid search and retrieval
  • Memory across conversationsRequires MEMORY_ENABLED=true
  • Multiple LLM provider support
  • Permission-aware company context
  • Sandboxed code execution
  • Single Sign-On (SSO)Okta and Entra ID require commercial license; Google OAuth is free in community edition
  • Web search and fetch toolsConfigured via admin UI, stored encrypted in database
  • Workplace connectors

Omni README

How to install Omni

Install Omni with Docker Compose

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

cp .env.example .env

Edit .env with your configuration

alias omni-compose="docker compose -f docker/docker-compose.yml --env-file .env" omni-compose up -d

Single-server deployment for development or production

How to configure Omni

  • ACME_EMAILEmail for Let's Encrypt notifications (for automatic HTTPS)

    Email for Let's Encrypt notifications (for automatic HTTPS)

  • AGENTS_ENABLEDfalseEnable background AI agents (scheduled tasks)

    Enable background AI agents (scheduled tasks)

  • AI_ANSWER_ENABLEDfalseEnable or disable AI-generated answers in search results

    Enable or disable AI-generated answers in search results

  • AI_SERVICE_PORT3003AI service port

    AI service port

  • APP_URLhttp://localhost:3000Public-facing application URL (include protocol)

    Public-facing application URL (include protocol)

  • CONNECTOR_MANAGER_PORT3004Connector manager port

    Connector manager port

  • DATABASE_HOSTpostgresDatabase hostname or IP address

    Database hostname or IP address

  • DATABASE_NAMEomniDatabase name

    Database name

  • DATABASE_PASSWORDDatabase password (use strong password)

    Database password (use strong password)

  • DATABASE_PORT5432Database port

    Database port

  • DATABASE_SSLfalseEnable SSL for database connection

    Enable SSL for database connection

  • DATABASE_USERNAMEomniDatabase username

    Database username

  • DOCLING_ENABLEDfalseExpose the Document Conversion admin page

    Expose the Document Conversion admin page

  • ENABLED_CONNECTORSwebComma-separated list of connectors to enable

    Comma-separated list of connectors to enable

    values: google, google_ads, slack, atlassian, web, github, notion, hubspot, salesforce, snowflake, fireflies, microsoft, filesystem, imap, linear, clickup, nextcloud, paperless, darwinbox, windshift

  • ENCRYPTION_KEYEncryption key for sensitive credentials (32+ characters)

    Encryption key for sensitive credentials (32+ characters)

  • ENCRYPTION_SALTSalt for key derivation (16+ characters)

    Salt for key derivation (16+ characters)

  • INDEXER_PORT3002Indexer service port

    Indexer service port

  • MEMORY_ENABLEDfalseEnable the Memory settings pages and AI-service memory provider

    Enable the Memory settings pages and AI-service memory provider

  • OMNI_DOMAINlocalhostDomain name for the application

    Domain name for the application

  • OMNI_VERSIONlatestDocker image version tag for all Omni services

    Docker image version tag for all Omni services

  • OTEL_EXPORTER_OTLP_ENDPOINTOTLP collector endpoint (empty = telemetry disabled)

    OTLP collector endpoint (empty = telemetry disabled)

  • REDIS_URLredis://redis:6379Redis connection URL

    Redis connection URL

  • RUST_LOGinfoRust services log level

    Rust services log level

    values: trace, debug, info, warn, error

  • S3_BUCKETS3 bucket name (required if STORAGE_BACKEND=s3)

    S3 bucket name (required if STORAGE_BACKEND=s3)

  • S3_REGIONS3 region (required if STORAGE_BACKEND=s3)

    S3 region (required if STORAGE_BACKEND=s3)

  • SEARCHER_PORT3001Search service port

    Search service port

  • SESSION_SECRETSecret key for session encryption (32+ characters)

    Secret key for session encryption (32+ characters)

  • STORAGE_BACKENDpostgresStorage backend: postgres or s3

    Storage backend: postgres or s3

    values: postgres, s3

  • WEB_PORT3000SvelteKit web application port

    SvelteKit web application port

Omni releases & version history

More in AI Automation

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…