The daemon is running but Cloud shows it offline
A daemon can be healthy on localhost while still offline from Cloud’s point of view. Cloud needs the relay control channel, not just the local process.
1. Confirm local health
Section titled “1. Confirm local health”curl http://127.0.0.1:7382/api/healthcurl http://127.0.0.1:7382/api/vaultsIf these fail, restart the daemon or fix its KB1_HOME and port first.
2. Confirm relay config
Section titled “2. Confirm relay config”curl http://127.0.0.1:7382/api/relay/statusCommon states:
| State | Meaning | Next step |
|---|---|---|
relay.configured: false |
Relay env vars were not set. | Start with KB1_RELAY_URL and KB1_RELAY_TOKEN. |
relay.started: false |
Relay controller is not running. | Restart daemon or call /api/relay/connect. |
relay.controlConnected: false |
Daemon has not established the Cloud control channel. | Check token, org id, network, and logs. |
relay.reconnectScheduled: true |
Daemon is retrying. | Wait briefly, then inspect logs if it persists. |
3. Check token and org id
Section titled “3. Check token and org id”KB1_RELAY_URL should look like:
https://api.kb-1.ai/t/<org-id>The org id must match the self-hosted org that minted the daemon key. Tokens are shown once; if you do not have the plaintext, mint a new daemon key.
4. Local dev reset
Section titled “4. Local dev reset”For the seeded dev stack:
pm2 start ecosystem.config.jspnpm --filter @kb-1-cloud/api seed:devpm2 restart kb1-cloud-dev-daemonThe seed writes .dev.daemon.json. The PM2 daemon reads it only after restart.
5. Logs
Section titled “5. Logs”Look for relay lines:
pm2 logs kb1-cloud-dev-daemonFor installed daemon services, inspect your platform service logs. On macOS the
installer writes ~/Library/Logs/kb1-daemon.*.log; on Linux use the user systemd
journal for kb1d.service.