Self-hosting

Self-hosting overview

The components ChatPlotDB runs as, and what you need to stand them up.

A ChatPlotDB deployment is three services plus a database.

ComponentDefault portRole
Backend8000The agent, the API, the config registry
Auth service8100Issues and validates the JWTs the backend trusts
Frontend3000The web app
PostgreSQL5432Application state, not your queried data

The application database is separate from any database you connect and query.

Requirements

  • Python 3.13 with uv
  • Node 20 or later
  • PostgreSQL
  • An Anthropic API key at minimum; other providers are optional

Development

A start.sh script brings the stack up locally, running dependency install on first boot.

Migrations

Schema migrations are a deliberate step rather than something that silently runs on every boot:

python -m app.db.migrate

There is a flag to run them on boot instead. Leave it off for anything with more than one backend replica: concurrent migration on scale-out is a bad afternoon.

Next

On this page