Self-Hosted Operation
ProPR is meant to run under your control, using your repositories and your agent credentials. Most installs should use the published Docker images. Source checkout is mainly for teams modifying ProPR itself.
What Stays On Your Infrastructure
Everything that touches your code runs where you deployed it:
- Repository clones and per-task worktrees
- Agent execution containers and their prompts, logs, and generated patches
- The SQLite application database and Redis queue state
- GitHub App credentials and agent credentials
You supply the GitHub App credentials and agent credentials. ProPR does not require a hosted ProPR account for the core self-hosted workflow. The supported agents, their Docker images, and the HOST_* credential-mount variables are documented in Agents and Models.
How A Deployment Looks
The recommended setup is the published image set, orchestrated either by the ProPR CLI control plane or by one docker run of the launcher container. Both pull a pinned image set and start the service containers — Redis, daemon, worker, indexing worker, API, and Web UI — as siblings on the host Docker daemon, with your .env, data, logs, and repos directories mounted in. The image list and orchestration details live in Production Deployment.
Local directory layout next to your .env: the GitHub App <key>.pem (own-App mode only), plus data/ (SQLite database), logs/, and repos/. Repository clones and per-task worktrees live under /tmp/git-processor on the host by default (GIT_CLONES_BASE_PATH, GIT_WORKTREES_BASE_PATH). This works for both local workstation setup and remote server deployment. See Setup for the full flow, including the required GitHub App permissions (Contents R/W, Issues R/W, Pull Requests R/W, Metadata R, Actions R optional).
Local Or Server
Local setup is useful for trying ProPR, testing configuration, or running it for a personal workspace. Server setup uses the same images but usually adds:
- A stable runtime directory such as
/srv/propr - A public domain
- TLS at a reverse proxy or ingress
- Longer-lived persistent storage
- More careful credential and Docker socket access controls
See Server Setup for the walkthrough and Production Deployment for the reference. By default ProPR receives GitHub events over a routing WebSocket from the hosted ProPR App at propr.dev — no inbound public endpoint required. Polling and running your own GitHub App with a direct webhook remain available as advanced intake options selected by GITHUB_EVENT_INTAKE_MODE.
The hosted bridge for the shared ProPR GitHub App, relay tokens, routing WebSocket, and optional hosted UI tunnel is documented in ProPR Connect.
Source Development
Run from source when you want to:
- Change ProPR code
- Build local images
- Run tests
- Validate the documentation site
- Develop new agent integrations
For that path, install Node.js 22+, run npm ci, and use the development Compose stack or direct service commands — see CLI Workflows and Source Setup.