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-bootstrapThat 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 dataSee 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.
Bring your own storage
Point Protobox at an S3-compatible bucket you control, so ingested documents never leave storage you own.
Ship integrations inside your SaaS
Connect your users' apps, hand tools to your agents, and ship integration features — without building OAuth, vaults, or provider SDKs yourself.