Make the public dashboard show real data + smoke-check it
Two real fixes that explain why https://ship.reb00t.io was empty: 1. The volume mount was nested: ~/.ship:/home/appuser put the container's ~/.ship/state at host's ~/.ship/.ship/state. Switched to ~/.ship/state:/home/appuser/.ship/state. deploy.sh now pre-creates ~/.ship/state/logs on the remote. 2. The daemon writes state on whatever host runs it (your mac), but the dashboard runs on test.k3rnel-pan1c.com — separate filesystem, empty DB. Added a state-sync step so the daemon rsyncs ~/.ship/state/ to the remote after every tick (configurable via SHIP_STATE_SYNC_TARGET / SHIP_STATE_SYNC_SSH_PORT, both wired in .envrc). deploy.sh also syncs once inline so the brand-new public smoke check sees data on the first run. Smoke kicker (.ship/smoke.sh) gains two assertions before its ship-smoke kick: GET /health must return 2xx, and GET /api/projects must return a non-empty list. Failures fail the deploy so claude in ship-self's workflow gets a chance to fix them. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Deploy of ship-self
- Started
- 2 hr ago 2026-05-09 16:40:43
- Finished
- 2 hr ago 2026-05-09 16:43:04
- Duration
- 2m 21s
- claude rc
- 0
Summary
---
status: succeeded
sha: 25d52c92b8952d56b2cadc5d57109d441b0d8f43
---
Deployed `25d52c9` ("Make the public dashboard show real data + smoke-check it") cleanly.
- `./.ship/test.sh`: 41 passed in 2.33s on first run; no code fixes needed.
- `./.ship/deploy.sh`: built image, uploaded to `test.k3rnel-pan1c.com`, started services, server came up on `:31040` (sha=25d52c9), state DB synced, smoke kick succeeded (2 projects visible at https://ship.reb00t.io/api/projects, kick commit pushed to ship-smoke).
- Promoted `release`: fast-forwarded `b8fbfef..25d52c9` and pushed to `origin/release`.
Log
raw ↗
No log captured for this run.