Agent skill

Omnigent Docker Compose Deploy

by omnigent-ai in omnigent-ai/omnigent

Brings up the Omnigent server and Postgres as a Docker compose stack on any Docker host, and covers the Dockerfile's runtime and host build targets for extending it to a new platform.

Apache-2.0Auto-check: notesDevOps & Cloud

Install Omnigent Docker Compose Deploy

skills CLI
$ npx skills add omnigent-ai/omnigent --skill deploy-docker-compose -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install omnigent-ai/omnigent deploy-docker-compose --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/omnigent-ai/omnigent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/deploy/docker .claude/skills/deploy-docker-compose && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
deploy-docker-compose
GitHub stars
11k
Token cost
~1.3k tokens
SKILL.md length
553 words
Files
14
Skills in repo
19
Repo updated
First seen
Licence
Apache-2.0

At a glance

Brings up the Omnigent server and Postgres as a Docker compose stack on any Docker host, and covers the Dockerfile's runtime and host build targets for extending it to a new platform.

  • Standing up the Omnigent server locally or on a VPS with Docker
  • SKILL.md covers TL;DR — bring it up, Files, Iterating on the image and Common debugging, plus 2 more sections
  • Runs Shell and Python scripts from its folder; calls docker, npm and uv; needs POSTGRES_PASSWORD
  • Debugging why the Omnigent compose stack won't start on a host

What it does

A single Dockerfile backs every non-Databricks deploy path: a web-builder stage builds the SPA with npm, a builder stage installs Omnigent into a Python virtual environment, a server-builder stage overlays the SPA bundle and adds psycopg, and the default runtime target copies that result and runs entrypoint.py. The image is deliberately an external-runner only, without tmux or harness SDKs, so it cannot execute agent code in-process; runners live on user machines and connect over a WebSocket tunnel.

A separate host target, built from the same Dockerfile, produces the omnigent-host image used by remote sandboxes such as a Modal-provisioned host: the inverse profile, with git and tmux but no SPA, psycopg or server entrypoint. Bringing the stack up locally is copying .env.example to .env, setting at least POSTGRES_PASSWORD, and running docker compose up with build, after which the server listens on port 8000. The compose file defines two services, a persistent Postgres 16-alpine instance and the Omnigent server, which waits on the Postgres healthcheck, with a build context at the repository root.

When your agent uses it

  • Standing up the Omnigent server locally or on a VPS with Docker
  • Debugging why the Omnigent compose stack won't start on a host
  • Building the separate host image used by remote sandbox providers

Example prompts

  • “Bring up the Omnigent docker compose stack on this VPS.”
  • “Build the host image target instead of the server runtime image.”
  • “The compose stack won't connect to Postgres, help me debug it.”

Requirements

  • Docker and Docker Compose

What it can do on your machine

Read from SKILL.md and the folder at commit fa1dbe6. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (Shell and Python), which the agent can run.

    Shell commands in SKILL.md call:

    • docker
    • npm
    • uv

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use docker, npm and uv, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • POSTGRES_PASSWORD

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Omnigent Docker Compose Deploy loads about 1.3k tokens when it runs. Until then it costs about 90 tokens; SKILL.md has 553 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~90
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NoteMentions a .env fileSKILL.md:33
    cp .env.example .env             # edit POSTGRES_PASSWORD at minimum
  • NoteMentions a .env fileSKILL.md:63
    If you change it in `.env`, you need `docker compose down -v` before
  • NoteMentions a .env fileSKILL.md:73
    ailed` | `POSTGRES_PASSWORD` changed in `.env` after the data volume was initialized | `docker compose down -v` then `up

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from omnigent-ai/omnigent at commit fa1dbe6, republished under its Apache-2.0 licence (© omnigent-ai). 553 words, ~1,250 tokens.

Download SKILL.mdSave it as .claude/skills/deploy-docker-compose/SKILL.md (or your agent's skills folder). This skill also uses 13 other files; get the full folder from GitHub.
name
deploy-docker-compose
description
Run the Omnigent server as a Docker compose stack (server + Postgres) on any Docker host — your laptop, a VPS, EC2 by hand, or as the base layer of any container-platform deploy. Invoke when the user wants to build the image, bring up the compose stack, debug the stack on a host they already have, or extend the stack for a new platform.

Run Omnigent as a Docker compose stack

The Dockerfile here is the single image used by every non-Databricks deploy path. It bundles the FastAPI server + a pre-built web SPA into a slim Python runtime. The compose file pairs it with Postgres and exposes the server on port 8000.

The image is "external runner only" — it does NOT include tmux, the harness SDKs, or anything that would let it execute agent code in-process. Runners live on user machines and dial in via the WebSocket tunnel. This keeps the image small (~250 MB), the security boundary clean (server doesn't execute user code), and the deploy shape consistent across hosts.

The same Dockerfile also has a host target — the prebaked Omnigent HOST image (omnigent-host) that remote sandboxes boot from (omnigent sandbox create --provider modal, server-launched managed hosts). It is the inverse profile: full omnigent install plus git + tmux, no SPA, no psycopg, no server entrypoint. Both images are published by the same workflows with the same :sha-<short> / :latest / :vX.Y.Z tag scheme. See the "Host image" section in README.md here.

TL;DR — bring it up

bash
cd deploy/docker
cp .env.example .env             # edit POSTGRES_PASSWORD at minimum
docker compose up -d --build
docker compose logs -f omnigent   # Ctrl-C when you see "Uvicorn running"

Server is on http://localhost:8000.

Files

DockerfileMulti-stage build with two final targets. web-builder (node:20) runs npm install && npm run build on web/. builder (python:3.12) installs omnigent into /opt/venv; server-builder overlays the SPA bundle from web-builder and adds psycopg. The default target (runtime) copies the venv + /build/ from server-builder and runs entrypoint.py. --target host builds the host image instead (from builder: omnigent + git/tmux, no SPA/psycopg/entrypoint).
Dockerfile.dockerignoreBuildKit-aware exclude. Trims deploy/databricks/, deploy/aws/, tests, dev tooling — keeps the build context small.
entrypoint.pyServer process entrypoint. Reads DATABASE_URL, runs Alembic migrations, builds the SQLAlchemy stores, calls create_app(), runs uvicorn. Single source of truth for what env vars the container respects.
docker-compose.yamlTwo services: postgres (16-alpine, persistent volume) and omnigent (built from the Dockerfile, depends on postgres healthcheck). Build context is ../.. (repo root).
.env.exampleDocuments every env var the compose file passes through: POSTGRES_PASSWORD, OMNIGENT_PORT, all the OMNIGENT_AUTH_* and OMNIGENT_OIDC_* vars.
README.mdCustomer-facing quickstart + the OIDC walkthrough (GitHub OAuth, Google Workspace, generic OIDC).
Show full SKILL.md (215 more words)Show less

Iterating on the image

bash
# Force a clean rebuild after a Dockerfile or source change
docker compose build --no-cache omnigent

# Reset everything (drops the DB + artifact volumes)
docker compose down -v
docker compose up -d --build

POSTGRES_PASSWORD is only honored on first init of the data volume. If you change it in .env, you need docker compose down -v before up -d or the server will fail to authenticate against the existing cluster.

Common debugging

SymptomLikely causeFirst check
Root URL returns {"service":"omnigent",…} instead of the SPAnpm build didn't produce the bundle inside the containerdocker compose exec omnigent ls /build/omnigent/server/static/web-ui/ — empty = the web-builder stage didn't run cleanly. Rebuild with --no-cache.
ModuleNotFoundError: No module named 'uvicorn' at startupvenv copy didn't pick up the installSanity-check the Dockerfile's VIRTUAL_ENV=/opt/venv is set before the uv pip install calls.
psycopg.OperationalError: password authentication failedPOSTGRES_PASSWORD changed in .env after the data volume was initializeddocker compose down -v then up -d (wipes the DB).
Web UI loads but new chats hang foreverExpected — runners are external. The UI's landing page prints the CLI command to launch a runner.

Extending to a new platform

Cloud Run, Fly.io, Render, k8s, HF Spaces — they all consume the same image. The platform-specific bit is the manifest (fly.toml, service.yaml, Helm chart, Spaces config) and any platform-managed TLS / DB wiring. Put that under deploy/<platform>/ next to docker/, with its own README + SKILL.

  • deploy/README.md — the deploy-options menu.
  • designs/OIDC_AUTH.md — full native OIDC design.

© omnigent-ai, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 13 other files in deploy/docker of omnigent-ai/omnigent.

  • SKILL.md
  • .env.example
  • Caddyfile
  • Dockerfile
  • Dockerfile.dockerignore
  • Dockerfile.prebuilt
  • Dockerfile.ubi
  • README.md
  • bootstrap.sh
  • config.yaml.example
  • docker-compose.https.yaml
  • docker-compose.yaml
  • entrypoint.py
  • install-harness-cli.sh

Open the folder on GitHubat commit fa1dbe6

Compare with similar skills

Omnigent Docker Compose Deploy next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Omnigent Docker Compose Deploy compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Omnigent Docker Compose Deploy this skillomnigent-ai/omnigent11k—~1.3kAutomated safety check: NotesApache-2.0
Iron Proxy Gateway for NanoClawnanocoai/nanoclaw31k—~4.6kAutomated safety check: NotesMIT
Cb Build TestBlkLeg/CircuitBreaker201—~1.9kAutomated safety check: PassMIT
Monstermq Broker Configvogler75/monster-mq142—~2.2kAutomated safety check: PassGPL-3.0
Docker Deploymentfossasia/eventyay1.7k—~574Automated safety check: NotesApache-2.0
Code PatternsAedelon/claude-code-blueprint120—~1.2kAutomated safety check: PassCustom licence

Similar skills

  • Installs or refreshes Iron Proxy and its Iron Control web console for NanoClaw, with a local Docker setup, database, credentials and a human approval bridge.

    31k GitHub stars~4.6k tokensUpdated yesterday
    DevOps & CloudAuto-check: notes
  • Cb Build Test

    BlkLeg/CircuitBreaker

    How Circuit Breaker is built, tested, packaged, and kept secret-safe — the make dev/verify/test targets, the PostgreSQL integration test database and its fixtures, the mono Docker image and native…

    201 GitHub stars~1.9k tokensUpdated 2 days ago
    DevOps & CloudAuto-check passed
  • Monstermq Broker Config

    vogler75/monster-mq

    Guide for configuring, deploying, and operating the MonsterMQ broker.

    142 GitHub stars~2.2k tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • Docker Deployment

    fossasia/eventyay

    Docker Compose, container services, deployment. An agent skill from fossasia/eventyay.

    1.7k GitHub stars~574 tokensUpdated today
    DevOps & CloudAuto-check: notes
  • Code Patterns

    Aedelon/claude-code-blueprint

    Reference patterns for REST APIs, pytest/vitest testing, Docker multi-stage builds, GitHub Actions CI/CD, PostgreSQL, TypeScript generics, Python async, and React Server Components.

    120 GitHub stars~1.2k tokensUpdated 7 mo ago
    DevOps & CloudAuto-check passed
  • Mg Local DB Restore

    modelguide/modelguide

    Trigger phrases - "reset local db", "recreate local postgres", "restore dump to local", "reset local database", "load backup locally"

    108 GitHub stars~645 tokensUpdated 3 mo ago
    DevOps & CloudAuto-check passed

More from omnigent-ai/omnigent

All 19 skills in this repo
  • Omnigent Framework Detection

    omnigent-ai/omnigent

    Scans Python agent code for framework imports and recommends the matching Omnigent executor type, or says when the framework is not natively supported yet.

    11k GitHub stars~610 tokensUpdated today
    Auto-check passed
  • Omnigent Load Test Runner

    omnigent-ai/omnigent

    Runs the Omnigent load test with real hosts and multi-turn sessions against a mocked LLM, then explains the latency results from summary.md.

    11k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Verify Omnigent End-to-End

    omnigent-ai/omnigent

    Spins up an isolated Omnigent server, runner and mock model to prove a user-facing behavior or bug fix with recorded evidence instead of reasoning from code.

    11k GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Spins up a local Omnigent server and exercises the Antigravity (Gemini) SDK harness end to end: building agents, running real turns, smoke tests and bug-bashing.

    11k GitHub stars~2.7k tokensUpdated today
    Auto-check passed
  • Omnigent Agent Builder

    omnigent-ai/omnigent

    Gives patterns for generating a minimal, valid Omnigent agent directory: the config.yaml fields, the right executor type, and the files each agent needs.

    11k GitHub stars~2.1k tokensUpdated today
    Auto-check passed
  • Copilot SDK E2E Dev

    omnigent-ai/omnigent

    Spin up a live local Omnigent server and exercise the GitHub Copilot SDK harness end-to-end — build copilot agents, run real turns, smoke-test, and bug-bash.

    11k GitHub stars~2.7k tokensUpdated today
    Auto-check passed

Categories

Questions about Omnigent Docker Compose Deploy

What does Omnigent Docker Compose Deploy do?

Brings up the Omnigent server and Postgres as a Docker compose stack on any Docker host, and covers the Dockerfile's runtime and host build targets for extending it to a new platform. py. The image is deliberately an external-runner only, without tmux or harness SDKs, so it cannot execute agent code in-process; runners live on user machines and connect over a WebSocket tunnel.

When should I use Omnigent Docker Compose Deploy?

Omnigent Docker Compose Deploy fits situations like: standing up the Omnigent server locally or on a VPS with Docker; debugging why the Omnigent compose stack won't start on a host; building the separate host image used by remote sandbox providers.

How do I install Omnigent Docker Compose Deploy in Claude Code?

Run `npx skills add omnigent-ai/omnigent --skill deploy-docker-compose -a claude-code`. Or copy the skill folder (deploy/docker in omnigent-ai/omnigent) into .claude/skills/deploy-docker-compose in your project. Claude Code loads it when a task matches its description.

How do I install Omnigent Docker Compose Deploy in Codex?

Run `npx skills add omnigent-ai/omnigent --skill deploy-docker-compose -a codex`. Or copy the skill folder (deploy/docker in omnigent-ai/omnigent) into .agents/skills/deploy-docker-compose in your project. Codex loads it when a task matches its description.

Can I use Omnigent Docker Compose Deploy in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add omnigent-ai/omnigent --skill deploy-docker-compose -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/deploy-docker-compose, .gemini/skills/deploy-docker-compose, .github/skills/deploy-docker-compose and .opencode/skills/deploy-docker-compose in your project.

What does Omnigent Docker Compose Deploy need to run?

Going by SKILL.md and its folder, Omnigent Docker Compose Deploy needs a shell and Python for the scripts in its folder, the command-line tools its instructions call (docker, npm and uv) and credentials named POSTGRES_PASSWORD. Our summary lists: Docker and Docker Compose.

Does Omnigent Docker Compose Deploy access the network?

SKILL.md contains no URLs. Its commands use docker, npm and uv, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Omnigent Docker Compose Deploy safe to install?

Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Omnigent Docker Compose Deploy use?

Omnigent Docker Compose Deploy is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Omnigent Docker Compose Deploy use?

About 1.3k tokens (SKILL.md is roughly 5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Omnigent Docker Compose Deploy?

Skills that share tags, products or a category with Omnigent Docker Compose Deploy: Iron Proxy Gateway for NanoClaw (nanocoai/nanoclaw, 31k stars), Cb Build Test (BlkLeg/CircuitBreaker, 201 stars), Monstermq Broker Config (vogler75/monster-mq, 142 stars) and Docker Deployment (fossasia/eventyay, 1.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Omnigent Docker Compose Deploy?

omnigent-ai (a GitHub organization) maintains it in omnigent-ai/omnigent, which has 10,633 GitHub stars. The repository holds 19 skills in this directory. The repository was last updated on October 7, 2026.

Source: omnigent-ai/omnigent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.