ProtoMap Server runs the full ProtoMap platform — the web app, the API, and the background worker — inside your own
environment. It is distributed as the hounddogai/protomap Docker image
and runs with Docker Compose. Your scans, and the code snippets they hold, stay on your network.

What Runs
Section titled “What Runs”| Service | Role |
|---|---|
proxy |
Serves the platform and the API on one address. The only service that publishes a port. |
server |
The API and the platform. Applies database migrations when it starts. |
worker |
Background jobs, such as building a new version of the shared graph after scans upload. |
postgres |
The bundled PostgreSQL database, for trial installations. Production uses your own database. |
Requirements
Section titled “Requirements”- Docker with Compose 2.23.1 or newer
- At least 4 GB of RAM and 20 GB of disk space
gitandcurl
Installation
Section titled “Installation”Clone the public hounddogai/protomap repository and run the installer:
git clone https://github.com/hounddogai/protomap.gitcd protomap./self-hosted/scripts/install.shRun the commands on this page, and on the other self-hosting pages, from protomap, the root of the clone.
The installer asks you to choose an installation type:
- Trial — the quickest way to try ProtoMap. PostgreSQL runs as a bundled container, and the CLI on this computer is logged in for you.
- Production — connects ProtoMap to your own PostgreSQL 18 (or newer) database. You enter its connection URL, in
the form
postgres://USER:PASSWORD@HOST:PORT/DATABASE.
It also asks for the port to serve ProtoMap on (3300 by default). Then it writes your settings, with generated
secrets, to self-hosted/.env, starts the stack, and installs the ProtoMap CLI.
First-Run Setup
Section titled “First-Run Setup”When the installation finishes:
- Open the address the installer prints, such as
http://localhost:3300, or this computer’s address from another computer. - Enter the one-time setup key the installer prints. If you missed it, it is
PROTOMAP_SETUP_KEYinself-hosted/.env. - Create your organization and its owner account.
Setup then walks you through connecting an AI provider for the assistant and installing the CLI. You become the server owner, who manages server-wide settings.
Run Your First Scan
Section titled “Run Your First Scan”In Trial mode, the CLI is already logged in as the owner, so you can scan a repository right away:
protomap scan /path/to/repositoryIn Production mode, log in first:
protomap login --server=http://<your server>:3300protomap scan /path/to/repositoryIf the installer said the CLI is not on your PATH yet, open a new terminal first. See Scanning for
what a scan reads and who sees it.
Next Steps
Section titled “Next Steps”- Configure HTTPS, email, and other settings.
- Invite your team and set up single sign-on.
- Connect a coding agent to the graph.
- Learn how to upgrade, back up, and uninstall the server.
