Skip to content

Run with Docker

Docker Compose is the simplest production-adjacent way to run ReviewPhin on a single host. The published image is cdwv/reviewphin; it bundles the GitHub Copilot CLI and exposes the reviewphin CLI entrypoint.

Copy the example environment file. Docker Compose reads .env.docker:

Terminal window
cp .env.example .env.docker

Set at least the public URL and model authentication:

.env.docker
PUBLIC_URL=https://reviewphin.example.com
GH_TOKEN=github_pat_xxxxxxxxxxxxxxxxxxxxxxxxxxxx

PUBLIC_URL must be reachable by GitLab or GitHub. GitLab webhook secrets are configured per tenant with --webhook-secret, not through an environment variable. See environment variables for the full list.

Terminal window
docker compose up -d

The compose file mounts ./data to /app/data (SQLite database and run logs) and ./tmp to /app/tmp (hydrated workspaces). Both directories are created automatically and must persist across container replacement.

Terminal window
curl http://localhost:3000/healthz
# {"status":"ok"}

The image registers reviewphin. Run CLI commands through the worker service:

Terminal window
docker compose run --rm worker reviewphin tenant list

Continue with platform connections and tenants.

A local Docker host is not reachable by your platform yet. For a quick trial, open a tunnel. For durable production, place ReviewPhin behind a TLS-terminating reverse proxy or use the Helm chart.

The repository ships a multi-stage Dockerfile. The compose file builds it locally as reviewphin:local; docker compose up --build rebuilds after source changes.