Overview
Thedoctor command runs a suite of health checks to verify that a UseZombie component is correctly configured and can reach its dependencies. There are two modes: API mode and worker mode.
API mode
| Check | What it verifies | If it fails |
|---|---|---|
| PostgreSQL connection | Can connect and run a query against the database | Verify DATABASE_URL is correct. Check that PostgreSQL is running and reachable from this host. |
| Redis connection | Can connect and ping Redis | Verify REDIS_URL is correct. Check that Redis is running and reachable. |
| Clerk configuration | CLERK_SECRET_KEY is set and non-empty | Set the variable in your .env or environment. Obtain the key from the Clerk dashboard. |
| Required env vars | All required API variables are present | See Environment variables for the full list. |
| Port availability | API port (default 3000) is not already bound | Stop the conflicting process or change PORT. |
| Metrics port availability | Metrics port (default 9091) is not already bound | Stop the conflicting process or change METRICS_PORT. |
Worker mode
| Check | What it verifies | If it fails |
|---|---|---|
| Executor socket | /run/zombie/executor.sock exists and is connectable | Verify zombied-executor.service is running: systemctl status zombied-executor. |
| Executor health | Executor responds to healthCheck RPC | Restart the executor: systemctl restart zombied-executor. Check executor logs for startup errors. |
| Sandbox backend | SANDBOX_BACKEND is a recognized value (host or bubblewrap) | Correct the value in .env. |
| GitHub App key | GitHub App private key is accessible | Verify the key file path or secret manager reference is valid. Re-download from GitHub App settings if needed. |
| Landlock support | Kernel supports Landlock (Linux 5.13+) | Upgrade the kernel or set SANDBOX_BACKEND=host for dev use. |
| cgroups v2 | cgroups v2 is mounted and writable | Verify /sys/fs/cgroup is cgroups v2. Some older systems need systemd.unified_cgroup_hierarchy=1 on the kernel command line. |
Example output
Exit codes
| Code | Meaning |
|---|---|
0 | All checks passed |
1 | One or more checks failed |