honcho-aio

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:

  1. Set PostgreSQL Password (required). The container exits 64 if it is empty.
  2. Set EMBEDDING_MODEL and CHAT_MODEL as provider/model. Split is on the first /. Nested model slashes stay (openrouter/openai/gpt-5.4-mini).
  3. If you use local/, set LOCAL_BASE_URL (example http://192.168.1.79:11434/v1). Local chat has no cloud fallback.
  4. Fill only the API key for the provider you picked.
  5. 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.

honcho-aio

Honcho

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:

  1. PostgreSQL + pgvector — workspaces, messages, and embeddings live here
  2. Redis — deriver queues and cache
  3. Embedding + chat models — local Ollama or a cloud provider, with matching vector width
  4. 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 (/health returns {"status":"ok"})
  • honcho-deriver — background derivation and dialectic
  • First-boot migrations + workspace create
  • Provider parseEMBEDDING_MODEL and CHAT_MODEL use <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/embeddinggemma and a local chat model. Set LOCAL_BASE_URL to your OpenAI-compat endpoint (example http://<lan>:11434/v1). Local chat has no cloud fallback.
  • Cloudopenai/, openrouter/, together/, anthropic/ (chat only), or gemini/. Fill only the key for the provider you picked.
  • Width — default EMBEDDING_VECTOR_DIMENSIONS=768 for embeddinggemma. 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:

  1. Refuses to start if POSTGRES_PASSWORD is empty (exit 64)
  2. Writes /var/lib/honcho/runtime.env (mode 600)
  3. Starts postgres, redis, honcho-api, and honcho-deriver
  4. Runs migrations
  5. Probes embedding width when a key/endpoint is available

No docker exec required.

Install (Unraid, ~3 min)

  1. Install honcho-aio from Community Applications (or the catalog XML)
  2. Set POSTGRES_PASSWORD (required)
  3. Set EMBEDDING_MODEL and CHAT_MODEL. For local/, also set LOCAL_BASE_URL
  4. Leave default appdata paths, Apply
  5. Wait for /health, then point Hermes: hermes memory setuphttp://<lan>:8000

Requirements

  • Unraid (with Community Applications) or any Docker host
  • A LAN IP you control
  • For local/ models: an OpenAI-compat endpoint (Ollama at http://<lan>:11434/v1 is 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/honcho stack 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.

Open the Apps tab on your Unraid server Search Community Apps for honcho-aio Review the template variables and paths Click Install

Requirements

Docker. A LAN IP you control. Optional: a local OpenAI-compatible embed/chat endpoint for local/ models.

Download Statistics

263
Total Downloads

Related apps

Explore more like this

Explore all

Details

Repository
dub19/honcho-aio
Last Updated2026-08-23
First Seen2026-08-24

Runtime arguments

Web UI
http://[IP]:[PORT:8000]
Network
bridge
Shell
sh
Privileged
false

Template configuration

Web UI PortPorttcp

Honcho API port. Postgres and Redis stay inside the container.

Target
8000
Default
8000
Value
8000
Postgres DataPathrw

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
Redis DataPathrw

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 StatePathrw

Honcho runtime.env and generated state.

Target
/var/lib/honcho
Default
/mnt/user/appdata/honcho-aio/honcho
Value
/mnt/user/appdata/honcho-aio/honcho
PostgreSQL PasswordVariable

REQUIRED. Container exits 64 if empty. Masked.

Target
POSTGRES_PASSWORD
PostgreSQL UserVariable

Internal Postgres user.

Target
POSTGRES_USER
Default
postgres
Value
postgres
PostgreSQL DatabaseVariable

Internal Postgres database name.

Target
POSTGRES_DB
Default
honcho
Value
honcho
Embedding ModelVariable

Format provider/model. Split on first /. Examples: local/embeddinggemma, openai/text-embedding-3-small.

Target
EMBEDDING_MODEL
Default
local/embeddinggemma
Value
local/embeddinggemma
Chat ModelVariable

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
Local Provider Base URLVariable

Required for local/ models. Example: http://192.168.1.79:11434/v1. Local chat has no cloud fallback.

Target
LOCAL_BASE_URL
Embedding Vector DimensionsVariable

Must match the model output width. Boot fails on mismatch. 768 for embeddinggemma.

Target
EMBEDDING_VECTOR_DIMENSIONS
Default
768
Value
768
OpenAI API KeyVariable

Used for openai, openrouter, and together.

Target
LLM_OPENAI_API_KEY
Anthropic API KeyVariable

Used when CHAT_MODEL uses anthropic/. Chat only.

Target
LLM_ANTHROPIC_API_KEY
Gemini API KeyVariable

Used when EMBEDDING_MODEL or CHAT_MODEL uses gemini/.

Target
LLM_GEMINI_API_KEY
Ollama API KeyVariable

Default ollama. Used when provider is ollama/.

Target
OLLAMA_API_KEY
Default
ollama
Value
ollama
Local Provider API KeyVariable

Optional. Needed only if the local OpenAI-compat endpoint requires a key.

Target
LOCAL_API_KEY
Enable AuthenticationVariable

Set true to enable JWT auth on the Honcho API.

Target
AUTH_USE_AUTH
Default
false
Value
false
JWT SecretVariable

Optional static JWT secret. Empty means generate on first boot.

Target
AUTH_JWT_SECRET
Enable MetricsVariable

Set true to expose /metrics.

Target
METRICS_ENABLED
Default
false
Value
false
Enable TelemetryVariable

Set true to send anonymous Honcho usage telemetry.

Target
TELEMETRY_ENABLED
Default
false
Value
false
Enable SentryVariable

Set true to send errors to Sentry. Needs SENTRY_DSN.

Target
SENTRY_ENABLED
Default
false
Value
false
Sentry DSNVariable

Sentry DSN. Required only when SENTRY_ENABLED is true.

Target
SENTRY_DSN
Webhook SecretVariable

Shared secret for signed Honcho webhooks.

Target
WEBHOOK_SECRET
Deriver WorkersVariable

Concurrent deriver workers. Default 4.

Target
DERIVER_WORKERS
Default
4
Value
4
LLM Log LevelVariable

DEBUG, INFO, WARNING, ERROR, or CRITICAL.

Target
LLM_LOG_LEVEL
Default
WARNING
Value
WARNING
NamespaceVariable

Honcho namespace. Isolates agent memory.

Target
NAMESPACE
Default
default
Value
default