Everything in this quick start runs on your machine. First you bring up the runtime—a long-lived daemon (phrony-runtime) backed by Postgres—and install the phrony CLI to talk to it on port 7777.
Prerequisites
Docker Desktop or Docker Engine, and Go 1.25+ to install the operator CLI. The runtime itself is pulled from the official image ghcr.io/phrony-platform/phrony-runtime:latest.
Start the stack
Create a working directory, download the Compose file, and start Postgres plus the runtime:
$ mkdir phrony-runtime && cd phrony-runtime
$ curl -fsSLO https://phrony.com/runtime/docker-compose.yml
$ docker compose up -d --waitCompose waits for Postgres to become healthy, pulls ghcr.io/phrony-platform/phrony-runtime:latest, applies migrations, and listens on 127.0.0.1:7777. Stop the stack with docker compose down.
Compose file
The same file is available at /runtime/docker-compose.yml and in the runtime repository docs.
services:
postgres:
image: postgres:16
ports:
- "5432:5432"
environment:
POSTGRES_USER: phrony_runtime
POSTGRES_PASSWORD: phrony_runtime
POSTGRES_DB: phrony_runtime
healthcheck:
test: ["CMD-SHELL", "pg_isready -U phrony_runtime -d phrony_runtime"]
interval: 5s
timeout: 5s
retries: 5
runtime:
image: ghcr.io/phrony-platform/phrony-runtime:latest
ports:
- "7777:7777"
environment:
RUNTIME_DATABASE_URL: postgres://phrony_runtime:phrony_runtime@postgres:5432/phrony_runtime?sslmode=disable
RUNTIME_GRPC_ADDR: 0.0.0.0:7777
# Dev-only placeholder; replace per environment (openssl rand -base64 32)
RUNTIME_SECRETS_ENCRYPTION_KEY: "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
RUNTIME_DISPATCH_QUEUE_WAIT: "5s"
depends_on:
postgres:
condition: service_healthyInstall the operator CLI
Install phrony with Go and ensure $(go env GOPATH)/bin is on your PATH:
$ go install github.com/phrony-platform/runtime/cmd/cli@latest
$ mv -f "$(go env GOPATH)/bin/cli" "$(go env GOPATH)/bin/phrony"Or clone the runtime repository and run make install-cli if you are hacking on the daemon.
Verify
$ phrony statusYou should see the runtime reachable at the default address. Pass --runtime-addr to override 127.0.0.1:7777.
Binaries
| Binary | Role |
|---|---|
phrony-runtime | Daemon: Postgres, gRPC server, runs agent sessions |
phrony | Operator CLI—talks to the daemon and works with manifest files |