Running your own server
One command installs the server, its batch worker and the dashboard on a machine with Docker:
The installer is published with ProbeRun's open-source release.
- What it installs. Five containers under the Docker Compose project
proberun-selfhost: Postgres, a one-shot database migration, the API, the worker that runs triggered batches, and the dashboard. Nothing else on the machine changes. - Private by default. The dashboard (port 3000) and the API (port 8000, for
probe push) listen on127.0.0.1only; the database and worker are not published at all. Anyone who can open the dashboard acts as its Admin, which on loopback means you. - Sharing it with a team. Set
PROBE_BINDto a network address and configure sign-in with your OIDC provider (Keycloak, Entra ID, Google): the installer refuses to expose the server without it, and on a shared machine use OIDC even on loopback. Put your own TLS proxy in front. - Your API key. The installer prints the server’s API key when it finishes;
probe pushsends it asPROBE_API_KEY. It lives, with every other generated secret, in the install directory’s.env(readable only by you). - Where data lives. In the Docker volume
proberun-selfhost_postgres-data. Re-running the installer keeps every secret and every Project and Run. - First look. Open an empty Project and press Load an example comparison for sample data (see “Your first Project”).
- Stop and remove.
docker compose -p proberun-selfhost stopstops it;docker compose -p proberun-selfhost downremoves the containers and keeps the data;down -vdeletes the data too.
Settings, upgrades and what each installer exit code means are in the operator guide
(docs/SETUP.md, “Self-hosted install”).