omnara
★ 3.0kA self-hosted alternative to Make Integromat
Apache License 2.0Open Source — No Paywall10 Containers — 10 containers — heavy hosting footprintCompose · Source · PackageNeeds Postgres10+ active committers (12mo)
About
Omnara is an open-source platform for managing and running AI agents. It is aimed at developers and teams that want to launch agents through an API, the CLI, a dashboard, or an SDK, while keeping...
Community Ratings
No ratings yetNew this week
Read recap →Weekly Recap — Oct 9, 2026 – Oct 16, 2026Oct 16, 2026
Features
- any model support
- built-in tools
- skills
- memory stores
- subagents
- machines on laptops/VMs/containers
- durable state
- schedules
- REST API
- TypeScript SDK
Details
- Last Updated
- Oct 22, 2026
- Created
- Jul 9, 2025
- Install Methods
- docker-composesourcepackage-manager
- Requirements
- Docker with ComposeNode.js 22 or newerPostgresRedis
- Authentication
- localoidc-sso
- API
- REST
- Privacy & Independence
- Cloud: Optional
- User Model
- Multi-UserMulti-Tenant
- Deployment
Deployment: Docker Compose ✓10 Containers — heavy hosting footprintRuns as 10 containers
Run omnara with Docker Compose
Compose file from the omnara project repository.
10 services · database: postgres · infra: valkey, postgres · 2 unclassified (rustfs, nginx-unprivileged)
no resource limits declared
needs persistent storage (6 volumes)
compose.yaml · @ 660bb17 · scanned Oct 22, 2026
x-app-env: &app-env
OMNARA_DATABASE_URL: postgres://omnara:omnara@postgres:5432/omnara?sslmode=disable
OMNARA_REDIS_URL: redis://redis:6379/0
OMNARA_PUBLIC_URL: ${OMNARA_PUBLIC_URL:-http://localhost:8000}
OMNARA_LOG_LEVEL: ${OMNARA_LOG_LEVEL:-info}
OMNARA_ALLOW_INSECURE_DEV_DEFAULTS: ${OMNARA_ALLOW_INSECURE_DEV_DEFAULTS:-1}
OMNARA_SECRET_ENCRYPTION_KEYS: ${OMNARA_SECRET_ENCRYPTION_KEYS:-}
OMNARA_SECRET_ENCRYPTION_ACTIVE_KEY_ID: ${OMNARA_SECRET_ENCRYPTION_ACTIVE_KEY_ID:-}
OMNARA_SKILL_DOWNLOAD_SIGNING_KEY: ${OMNARA_SKILL_DOWNLOAD_SIGNING_KEY:-}
x-blob-env: &blob-env
OMNARA_BLOB_S3_BUCKET: ${OMNARA_BLOB_S3_BUCKET:-omnara}
OMNARA_BLOB_S3_REGION: ${OMNARA_BLOB_S3_REGION:-us-east-1}
OMNARA_BLOB_S3_ENDPOINT: ${OMNARA_BLOB_S3_ENDPOINT:-http://rustfs:9000}
OMNARA_BLOB_S3_ACCESS_KEY_ID: ${OMNARA_BLOB_S3_ACCESS_KEY_ID:-omnara}
OMNARA_BLOB_S3_SECRET_ACCESS_KEY: ${OMNARA_BLOB_S3_SECRET_ACCESS_KEY:-omnara-blobs}
OMNARA_BLOB_S3_USE_PATH_STYLE: ${OMNARA_BLOB_S3_USE_PATH_STYLE:-1}
services:
redis:
image: valkey/valkey:9-alpine
ports:
- "${REDIS_HOST_PORT:-6379}:6379"
healthcheck:
test: ["CMD", "valkey-cli", "ping"]
interval: 2s
timeout: 2s
retries: 20
postgres:
image: postgres:18-alpine
environment:
POSTGRES_USER: omnara
POSTGRES_PASSWORD: omnara
POSTGRES_DB: omnara
ports:
- "${POSTGRES_HOST_PORT:-55432}:5432"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U omnara -d omnara"]
interval: 2s
timeout: 2s
retries: 20
volumes:
- postgres18-data:/var/lib/postgresql
rustfs:
image: rustfs/rustfs:1.0.0
command: /data
environment:
RUSTFS_ACCESS_KEY: omnara
RUSTFS_SECRET_KEY: omnara-blobs
ports:
- "127.0.0.1:59000:9000"
healthcheck:
test: ["CMD", "curl", "-f", "http://127.0.0.1:9000/health/ready"]
interval: 2s
timeout: 2s
retries: 20
volumes:
- rustfs-data:/data
# One-shot bucket provisioning: the application assumes buckets exist.
rustfs-init:
image: rustfs/rustfs:1.0.0
depends_on:
rustfs:
condition: service_healthy
entrypoint:
- /bin/sh
- -ec
- |
curl -fsS -o /dev/null -X PUT --aws-sigv4 'aws:amz:us-east-1:s3' --user 'omnara:omnara-blobs' http://rustfs:9000/omnara
curl -fsS -o /dev/null -X PUT --aws-sigv4 'aws:amz:us-east-1:s3' --user 'omnara:omnara-blobs' http://rustfs:9000/omnara-test
command: []
restart: "no"
# One-shot schema migration: app services depend on its successful exit and
# never apply migrations themselves.
migrate:
profiles: ["app"]
image: ghcr.io/omnara-ai/omnara-migrations:${OMNARA_RELEASE:-latest}
environment:
OMNARA_DATABASE_URL: postgres://omnara:omnara@postgres:5432/omnara?sslmode=disable
OMNARA_MIGRATION_TIMEOUT: ${OMNARA_MIGRATION_TIMEOUT:-30m}
depends_on:
postgres:
condition: service_healthy
restart: "no"
api:
profiles: ["app"]
image: ghcr.io/omnara-ai/omnara-api:${OMNARA_RELEASE:-latest}
environment:
<<: [*app-env, *blob-env]
OMNARA_MEMORY_DIR: /var/lib/omnara/memory
OMNARA_EMAIL_DRIVER: ${OMNARA_EMAIL_DRIVER:-console}
OMNARA_EMAIL_FROM: ${OMNARA_EMAIL_FROM:-}
OMNARA_SMTP_ADDR: ${OMNARA_SMTP_ADDR:-}
OMNARA_SMTP_USERNAME: ${OMNARA_SMTP_USERNAME:-}
OMNARA_SMTP_PASSWORD: ${OMNARA_SMTP_PASSWORD:-}
OMNARA_SMTP_REQUIRE_TLS: ${OMNARA_SMTP_REQUIRE_TLS:-}
SENDGRID_API_KEY: ${SENDGRID_API_KEY:-}
OMNARA_AUTH_SIGNUP_ENABLED: ${OMNARA_AUTH_SIGNUP_ENABLED:-1}
OMNARA_AUTH_PASSWORD_RESET_ENABLED: ${OMNARA_AUTH_PASSWORD_RESET_ENABLED:-1}
OMNARA_AUTH_CONNECTORS_JSON: ${OMNARA_AUTH_CONNECTORS_JSON:-}
OMNARA_TRUSTED_PROXY_CIDRS: ${OMNARA_TRUSTED_PROXY_CIDRS:-}
OMNARA_BILLING_URL: ${OMNARA_BILLING_URL:-}
OMNARA_DAEMON_RELEASE_URL: ${OMNARA_DAEMON_RELEASE_URL:-https://github.com/omnara-ai/omnara/releases/download/omnarad-stable}
volumes:
- memory-data:/var/lib/omnara/memory
depends_on:
migrate:
condition: service_completed_successfully
redis:
condition: service_healthy
rustfs-init:
condition: service_completed_successfully
restart: unless-stopped
worker:
profiles: ["app"]
image: ghcr.io/omnara-ai/omnara-worker:${OMNARA_RELEASE:-latest}
environment:
<<: [*app-env, *blob-env]
OMNARA_MEMORY_DIR: /var/lib/omnara/memory
OMNARA_WORKER_EVENT_WEBHOOK_CONCURRENCY: ${OMNARA_WORKER_EVENT_WEBHOOK_CONCURRENCY:-128}
OMNARA_EVENT_WEBHOOK_PER_ORG_CONCURRENCY: ${OMNARA_EVENT_WEBHOOK_PER_ORG_CONCURRENCY:-128}
OMNARA_WORKER_CAPACITY: ${OMNARA_WORKER_CAPACITY:-4}
OMNARA_WORKER_CLAIM_CONCURRENCY: ${OMNARA_WORKER_CLAIM_CONCURRENCY:-16}
OMNARA_WORKER_INBOX_CAPACITY: ${OMNARA_WORKER_INBOX_CAPACITY:-4}
OMNARA_WORKER_DISCORD_CAPACITY: ${OMNARA_WORKER_DISCORD_CAPACITY:-1024}
OMNARA_WORKER_ASYNC_TOOL_CAPACITY: ${OMNARA_WORKER_ASYNC_TOOL_CAPACITY:-32}
OMNARA_WORKER_BACKGROUND_TOOL_CAPACITY: ${OMNARA_WORKER_BACKGROUND_TOOL_CAPACITY:-8}
EXA_API_KEY: ${EXA_API_KEY:-}
volumes:
- memory-data:/var/lib/omnara/memory
depends_on:
migrate:
condition: service_completed_successfully
redis:
condition: service_healthy
rustfs-init:
condition: service_completed_successfully
restart: unless-stopped
maintenance:
profiles: ["app"]
image: ghcr.io/omnara-ai/omnara-maintenance:${OMNARA_RELEASE:-latest}
environment:
<<: *app-env
OMNARA_MEMORY_DIR: /var/lib/omnara/memory
OMNARA_MAINTENANCE_INTERVAL: ${OMNARA_MAINTENANCE_INTERVAL:-1s}
volumes:
- memory-data:/var/lib/omnara/memory
depends_on:
migrate:
condition: service_completed_successfully
redis:
condition: service_healthy
restart: unless-stopped
web:
profiles: ["app"]
image: ghcr.io/omnara-ai/omnara-web:${OMNARA_RELEASE:-latest}
restart: unless-stopped
gateway:
profiles: ["app"]
image: nginxinc/nginx-unprivileged:1.29.5-alpine
ports:
- "${GATEWAY_HOST_PORT:-8000}:8080"
volumes:
- ./gateway.nginx.conf:/etc/nginx/conf.d/default.conf:ro
depends_on:
api:
condition: service_started
web:
condition: service_started
restart: unless-stopped
volumes:
memory-data:
postgres18-data:
rustfs-data:
networks:
default:
name: omnara-control-plane
This file may be out of date. Check the omnara documentation for current setup steps.
Tags
Track your self-hosted stack
Bookmark software to try, rate tools you've used, and keep your collection in one place.
Metadata extracted from README on Oct 22, 2026
Related Software
ZeroClaw
24
A small Rust-based AI assistant infrastructure and autonomous runtime with pluggable providers, channels, memory, tools, and security policies.
Claws & ClankersAI AgentsAI Tooling+2
Sim Studio
29.9k
An open-source platform for building AI agents and orchestrating agentic workflows with integrations, LLMs, and vector databases.
Automation ToolsArtificial IntelligenceAI Tooling+4
OpenSandbox
16.0k
OpenSandbox is a platform for running AI agents in isolated sandboxes on local machines or Kubernetes clusters.
AI AgentsAI ToolingSecret Management+1
2 Containers
onecli
3.6k
OneCLI is an open-source gateway that sits between AI agents and external services to inject and manage API credentials securely.
AI AgentsSecret ManagementModel Context Protocol+1
2 Containers
runtm
302
Runtm is an open-source platform for spinning up isolated sandboxes where coding agents can build, test, and deploy software.
Self Hosting SolutionsAI AgentsAI Tooling+1
4 Containers
daytona
71.5k
Daytona is a secure infrastructure runtime for running AI-generated code and agent workflows in isolated sandboxes.
Artificial IntelligenceAI AgentsAI Tooling+2
Canine
2.9k
Canine is a self-hosted Kubernetes deployment platform that simplifies PaaS-style application deployment and management on your own Kubernetes infrastructure.
Platform as a ServiceSelf Hosting SolutionsAutomation Tools+2
centaur
1.4k
Centaur is a self-hosted platform for teams to run shared AI agents in Slack or through an API, with isolated sandboxes and durable workflows.
Artificial IntelligenceAI AgentsAutomation Tools+2
Trigger.dev
16.6k
An open-source platform for building and deploying AI workflows and agents in TypeScript.
Task RunnersArtificial IntelligenceAutomation Tools+4
Langflow
155.9k
Langflow is a platform for building and deploying AI-powered agents and workflows with a visual builder, API deployment, and MCP server support.
Low Code DevelopmentAutomation ToolsModel Context Protocol+2
11 Containers
hermes-agent
256.0k
Hermes Agent is a self-improving AI agent with a built-in learning loop, terminal UI, and messaging gateway for chatting and automating work across platforms.
Artificial IntelligenceAI AgentsAI Coding Assistant+2
2 Containers
orca
101.5k
Orca is a desktop AI orchestrator that runs multiple CLI coding agents side-by-side in isolated git worktrees.
AI AgentsAI Coding AssistantAI Tooling+1