All apps · 0 apps
honcho-aio
Docker app from dub19's Repository
Overview
Honcho is memory infrastructure for agents that track people, sessions, and ideas over time. The default setup runs Honcho with its internal Postgres and Redis services. Store messages. Let it derive. Query context or search.
honcho-aio packages that for Unraid. One container. Honcho on port 8000. Postgres and Redis inside, not on the LAN. Set a password and provider/model strings. Then hermes memory setup → http://lan:8000.
First run:
- Set PostgreSQL Password (required). The container exits 64 if it is empty.
- Set EMBEDDING_MODEL and CHAT_MODEL as provider/model. Split is on the first /. Nested model slashes stay (openrouter/openai/gpt-5.4-mini).
- If you use local/, set LOCAL_BASE_URL (example http://192.168.1.79:11434/v1). Local chat has no cloud fallback.
- Fill only the API key for the provider you picked.
- Start, then point Hermes with: hermes memory setup → http://lan:8000
The chat model must support tool/function calling. Advanced configuration can select a local or cloud provider and custom model settings. At boot the image probes embedding width. A mismatch with EMBEDDING_VECTOR_DIMENSIONS fails boot.
Readme
View on GitHubhoncho-aio
![]()
Run Honcho as one Unraid container. Honcho is memory for stateful agents. It stores messages, reasons in the background, then returns context, search, and peer conclusions. honcho-aio runs that stack as one image: Honcho API, PostgreSQL 17 + pgvector, Redis, and s6. Databases stay on loopback. Point Hermes at http://<lan>:8000. No MCP.
Install the Unraid template, set a few values, and it is ready on first boot.
What this is for
Honcho is self-hosted agent memory. Point an AI agent harness at it and it stores, derives, and retrieves conversation context. honcho-aio packages Honcho so you can run it as a hosted memory backend for Hermes Agent (native honcho_* tools, not MCP) and any client that speaks the Honcho HTTP API. Agents connect to http://<lan>:8000. They never get a database URL.
The problem it solves
Honcho will not just run. A real deployment needs four things bolted together:
- PostgreSQL + pgvector — workspaces, messages, and embeddings live here
- Redis — deriver queues and cache
- Embedding + chat models — local Ollama or a cloud provider, with matching vector width
- A build — Honcho has no official all-in-one Unraid image
Wiring those by hand on Unraid is the whole problem. honcho-aio does it for you.
What you get in this container
Honcho v3.0.12, running under s6 — the reason you are here:
- honcho-api on
0.0.0.0:8000(/healthreturns{"status":"ok"}) - honcho-deriver — background derivation and dialectic
- First-boot migrations + workspace create
- Provider parse —
EMBEDDING_MODELandCHAT_MODELuse<provider>/<model>(split on the first/) - Dimension guard — boot fails if the embedding width does not match
EMBEDDING_VECTOR_DIMENSIONS
Plus the supporting infrastructure, all in the same container:
- PostgreSQL 17 + pgvector — loopback only, never published
- Redis — loopback only, never published
Pinned to official plastic-labs/honcho tags (HONCHO_VERSION + HONCHO_GIT_SHA). Agents connect only through HTTP on port 8000.
Embeddings & models
Set both models as <provider>/<model>. Nested slashes stay in the model name (openrouter/openai/gpt-5.4-mini).
- Local (recommended on Unraid) —
EMBEDDING_MODEL=local/embeddinggemmaand a local chat model. SetLOCAL_BASE_URLto your OpenAI-compat endpoint (examplehttp://<lan>:11434/v1). Local chat has no cloud fallback. - Cloud —
openai/,openrouter/,together/,anthropic/(chat only), orgemini/. Fill only the key for the provider you picked. - Width — default
EMBEDDING_VECTOR_DIMENSIONS=768forembeddinggemma. A mismatch fails boot. - Tool calling — the chat model must support tool/function calling. Pure-chat models break deriver loops.
First boot does the setup for you
Start empty, and the container:
- Refuses to start if
POSTGRES_PASSWORDis empty (exit 64) - Writes
/var/lib/honcho/runtime.env(mode600) - Starts postgres, redis, honcho-api, and honcho-deriver
- Runs migrations
- Probes embedding width when a key/endpoint is available
No docker exec required.
Install (Unraid, ~3 min)
- Install honcho-aio from Community Applications (or the catalog XML)
- Set
POSTGRES_PASSWORD(required) - Set
EMBEDDING_MODELandCHAT_MODEL. Forlocal/, also setLOCAL_BASE_URL - Leave default appdata paths, Apply
- Wait for
/health, then point Hermes:hermes memory setup→http://<lan>:8000
Requirements
- Unraid (with Community Applications) or any Docker host
- A LAN IP you control
- For
local/models: an OpenAI-compat endpoint (Ollama athttp://<lan>:11434/v1is the usual case)
Not included
- No host PostgreSQL or Redis — both run inside the container
- No TLS / reverse proxy — Honcho listens on HTTP
:8000 - No MCP server — Hermes uses the native Honcho memory provider
- Does not replace a live
/docker-compose/honchostack unless you do that yourself
Persistence
Back up Postgres, Redis, and Honcho state under /mnt/user/appdata/honcho-aio/ if you care about the instance.
License
See the repo LICENSE if present. Honcho is under its own upstream license.
Install honcho-aio on Unraid in a few clicks.
Find honcho-aio in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.
Requirements
Categories
Download Statistics
Related apps
Explore more like this
Explore allDetails
dub19/honcho-aioRuntime arguments
- Web UI
http://[IP]:[PORT:8000]- Network
bridge- Shell
sh- Privileged
- false
Template configuration
Honcho API port. Postgres and Redis stay inside the container.
- Target
- 8000
- Default
- 8000
- Value
- 8000
Internal PostgreSQL 17 data. Not published to the LAN.
- Target
- /data/postgres
- Default
- /mnt/user/appdata/honcho-aio/postgres
- Value
- /mnt/user/appdata/honcho-aio/postgres
Internal Redis data. Not published to the LAN.
- Target
- /data/redis
- Default
- /mnt/user/appdata/honcho-aio/redis
- Value
- /mnt/user/appdata/honcho-aio/redis
Honcho runtime.env and generated state.
- Target
- /var/lib/honcho
- Default
- /mnt/user/appdata/honcho-aio/honcho
- Value
- /mnt/user/appdata/honcho-aio/honcho
REQUIRED. Container exits 64 if empty. Masked.
- Target
- POSTGRES_PASSWORD
Internal Postgres user.
- Target
- POSTGRES_USER
- Default
- postgres
- Value
- postgres
Internal Postgres database name.
- Target
- POSTGRES_DB
- Default
- honcho
- Value
- honcho
Format provider/model. Split on first /. Examples: local/embeddinggemma, openai/text-embedding-3-small.
- Target
- EMBEDDING_MODEL
- Default
- local/embeddinggemma
- Value
- local/embeddinggemma
Format provider/model. Nested slashes stay (openrouter/openai/gpt-5.4-mini). Must support tool calling.
- Target
- CHAT_MODEL
- Default
- openai/gpt-5.4-mini
- Value
- openai/gpt-5.4-mini
Required for local/ models. Example: http://192.168.1.79:11434/v1. Local chat has no cloud fallback.
- Target
- LOCAL_BASE_URL
Must match the model output width. Boot fails on mismatch. 768 for embeddinggemma.
- Target
- EMBEDDING_VECTOR_DIMENSIONS
- Default
- 768
- Value
- 768
Used for openai, openrouter, and together.
- Target
- LLM_OPENAI_API_KEY
Used when CHAT_MODEL uses anthropic/. Chat only.
- Target
- LLM_ANTHROPIC_API_KEY
Used when EMBEDDING_MODEL or CHAT_MODEL uses gemini/.
- Target
- LLM_GEMINI_API_KEY
Default ollama. Used when provider is ollama/.
- Target
- OLLAMA_API_KEY
- Default
- ollama
- Value
- ollama
Optional. Needed only if the local OpenAI-compat endpoint requires a key.
- Target
- LOCAL_API_KEY
Set true to enable JWT auth on the Honcho API.
- Target
- AUTH_USE_AUTH
- Default
- false
- Value
- false
Optional static JWT secret. Empty means generate on first boot.
- Target
- AUTH_JWT_SECRET
Set true to expose /metrics.
- Target
- METRICS_ENABLED
- Default
- false
- Value
- false
Set true to send anonymous Honcho usage telemetry.
- Target
- TELEMETRY_ENABLED
- Default
- false
- Value
- false
Set true to send errors to Sentry. Needs SENTRY_DSN.
- Target
- SENTRY_ENABLED
- Default
- false
- Value
- false
Sentry DSN. Required only when SENTRY_ENABLED is true.
- Target
- SENTRY_DSN
Shared secret for signed Honcho webhooks.
- Target
- WEBHOOK_SECRET
Concurrent deriver workers. Default 4.
- Target
- DERIVER_WORKERS
- Default
- 4
- Value
- 4
DEBUG, INFO, WARNING, ERROR, or CRITICAL.
- Target
- LLM_LOG_LEVEL
- Default
- WARNING
- Value
- WARNING
Honcho namespace. Isolates agent memory.
- Target
- NAMESPACE
- Default
- default
- Value
- default