Skip to content

Your data, your machine, your models

Convo runs as a small Docker Compose stack. Conversations, personas and exports stay in your own Postgres and object storage, and with a local model nothing leaves the machine at all.

Up and running

From a checkout of the repository. You need Node 22 or newer, pnpm 9 and Docker Desktop.

pnpm install
node scripts/init-env.mjs        # writes .env with random secrets
docker compose up -d --build
docker compose ps                # migrate exits 0, the rest report healthy

Then open http://localhost:8170/app/. A fresh install asks you to create the first admin and an organization. Once you have, load the built-ins (prompt segments and sets, personas, voices, pools and the two Ollama backends) into it:

docker compose --profile seed run --rm seed

From there everything happens in the browser. For Ollama Cloud, put your key in OLLAMA_API_KEY in .env. A local Ollama needs no key.

One warning we'd rather you read here than learn the hard way: stop the stack with docker compose down, never docker compose down -v, which deletes the database volume.

What's in the box

One origin

nginx serves this site, the app, both APIs and the live-update socket from a single port, with one sign-in cookie. Internal service routes are refused at the edge.

Postgres, Redis, object storage

Postgres holds every conversation turn as a row, so edits are audited and undoable. Redis runs the job queue. Exports land in S3-compatible storage (MinIO in the stack) behind signed download links.

A worker you can pause

Generation, filtering, judging and memory run as queued jobs. Pause, resume and cancel are flags on the run the worker checks between jobs, and jobs are idempotent, so a restart doesn't duplicate work.

Accounts and permissions

Organizations, roles and permissions come from the suite platform. Members can do everything except manage backends and run bulk find and replace.

An MCP server for agents

AI agents can list runs, read and fix conversations, and start runs through the suite's MCP server, with the same permissions as a person and a confirm step for anything that costs money.

Any model server

The seed command sets up Ollama Cloud and a local Ollama. Add a server on your network (shown as LAN), or vLLM, llama.cpp, LM Studio, OpenRouter or Mistral, as further backends.

Already running?

Sign in and pick up where you left off.