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.
1. Configure the worker
Section titled “1. Configure the worker”Copy the example environment file. Docker Compose reads .env.docker:
cp .env.example .env.dockerSet at least the public URL and model authentication:
PUBLIC_URL=https://reviewphin.example.comGH_TOKEN=github_pat_xxxxxxxxxxxxxxxxxxxxxxxxxxxxPUBLIC_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.
2. Start the container
Section titled “2. Start the container”docker compose up -dThe 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.
3. Confirm it is running
Section titled “3. Confirm it is running”curl http://localhost:3000/healthz# {"status":"ok"}4. Run the CLI
Section titled “4. Run the CLI”The image registers reviewphin. Run CLI commands through the worker service:
docker compose run --rm worker reviewphin tenant listContinue with platform connections and tenants.
5. Expose it
Section titled “5. Expose it”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.
Build the image yourself
Section titled “Build the image yourself”The repository ships a multi-stage Dockerfile. The compose file builds it locally as reviewphin:local; docker compose up --build rebuilds after source changes.