Search

Search the documentation

Protobox
Getting started

Self-host Protobox

Run Protobox on your own infrastructure with Docker Compose, for teams that cannot send data to a hosted SaaS.

Who this is for

If your data cannot leave your own infrastructure, run Protobox yourself. Everything a workspace needs, the platform API, MCP host, database, job queue, and object storage, runs as containers on a machine you control.

What you get

Self-host is a Docker Compose stack, not a managed product. You run it, you patch it, you back it up.

  • The platform API (agents, tools, knowledge base, memory, sessions)
  • The MCP host, so Claude, Cursor, ChatGPT, or any MCP client can connect to your instance
  • MongoDB with Atlas Search, Redis, and MinIO (S3-compatible storage) bundled in

What's not included

  • Hosted billing. There is no Stripe integration or usage cap on self-host. You are not charged, and nothing meters you.
  • Managed LLM keys. Protobox's hosted plans include managed model access. Self-host does not, you bring your own OpenAI API key. Without one, lexical (keyword) search still works; semantic search, embeddings, and LLM-backed tools do not.
  • Firebase login for the admin UI. Self-host provisions its first user through a bootstrap script instead of Firebase sign-in. If you want normal email and password login through an admin UI pointed at your instance, you can configure your own Firebase project; it is optional, and everything else (API keys, the MCP host, the SDK, the CLI) works without it.

Prerequisites

  • Docker and Docker Compose v2
  • openssl (to generate secrets)
  • Your own OpenAI API key, for semantic search and LLM-backed tools

Run it

git clone https://github.com/chanl-ai/protobox.git
cd protobox

# Configure: generate secrets, set your OpenAI key
cp deploy/self-host/.env.example deploy/self-host/.env
# edit deploy/self-host/.env, see the file for what each value is for

# Build and start (the first build takes several minutes)
make self-host-up

# Create your first user, workspace, and API key
make self-host-bootstrap

That prints your API key and the MCP host URL. Point any MCP client at http://localhost:4202/api/mcp with the API key, or use @protoboxai/sdk / protobox CLI against http://localhost:4200, the same way you would against hosted Protobox.

make self-host-down            # stop, keep your data
make self-host-down PURGE=1    # stop and delete all data

See deploy/self-host/README.md in the repository for the full port list, environment variables, and how storage and auth are wired for a self-hosted instance.

How it stays compatible with hosted

Self-host runs against the same conformance suite hosted Protobox is graded on before every release, one session per conversation, tool listing, an approval-gated tool call, a knowledge search, and a memory store and recall, all metered and audited the same way. That suite is what make self-host-conformance runs against your own instance.

On this page