Skip to content

fix(hub): control-box image carries the CLI + persistent projects volume#225

Merged
madarco merged 1 commit into
feat/control-box-planfrom
fix/hub-image-cli-entry
Jul 15, 2026
Merged

fix(hub): control-box image carries the CLI + persistent projects volume#225
madarco merged 1 commit into
feat/control-box-planfrom
fix/hub-image-cli-entry

Conversation

@madarco

@madarco madarco commented Jul 15, 2026

Copy link
Copy Markdown
Owner

Fifth live finding (final verify): web-UI create on the control box failed — the image had no built CLI and no AGENTBOX_CLI_ENTRY for the queue worker, and the only 'projects' were the worker's deleted temp clones. Image now builds apps/cli + sets the entry; compose mounts a persistent /root/projects volume for real checkouts. Typecheck green; live re-verify follows.

https://claude.ai/code/session_01QnaMFuHVZUdTq5VzxiSg2L


Note

Low Risk
Packaging and volume-mount changes for self-hosted hub deployment; no application auth or business-logic changes in this diff.

Overview
Fixes web-UI box creation on the control-box Docker image, which could list boxes but could not actually create them because the image never built the agentbox CLI and did not expose where workers should re-exec it.

The hub Dockerfile now runs pnpm turbo run build --filter=@madarco/agentbox and sets AGENTBOX_CLI_ENTRY=/repo/apps/cli/dist/index.js so the resident create queue and host-app launchers can spawn node $AGENTBOX_CLI_ENTRY … as intended.

docker-compose adds a host-mounted volume (AGENTBOX_HUB_PROJECTS_DIR, default /opt/agentbox-projects) at /root/projects so project checkouts used for UI-driven creates persist across image rebuilds instead of living only in ephemeral worker temp dirs.

Reviewed by Cursor Bugbot for commit 768a92f. Configure here.

…nt projects volume

The hub queue (web-UI creates, queued agent runs, host-app launchers) spawns
'node $AGENTBOX_CLI_ENTRY …', but the control-box image never built apps/cli
and set no entry — a web-UI create failed instantly with 'cannot spawn queue
worker'. Build the CLI in the image and set AGENTBOX_CLI_ENTRY. Also mount a
persistent /root/projects volume: the full-host hub keeps real project clones
(the worker's per-job temp checkouts are deleted after create and make broken
'projects' in the UI — backlog).

Found live on the deployed control box (final goal-scenario verify).

Claude-Session: https://claude.ai/code/session_01QnaMFuHVZUdTq5VzxiSg2L
@vercel

vercel Bot commented Jul 15, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
agentbox-web Skipped Skipped Jul 15, 2026 3:51am

Request Review

@madarco
madarco merged commit 2c05151 into feat/control-box-plan Jul 15, 2026
5 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Jul 15, 2026
madarco added a commit that referenced this pull request Jul 15, 2026
All four phases live-verified against the deployed Hetzner control box: web-UI
box create + host-off push (PC relay hard-killed, branch advanced on GitHub via
control-box lease). Records fixes #225/#226 and four new backlog findings
(notably the web-UI/queue create path not wiring git leasing).

Claude-Session: https://claude.ai/code/session_01QnaMFuHVZUdTq5VzxiSg2L
madarco added a commit that referenced this pull request Jul 16, 2026
All four phases live-verified against the deployed Hetzner control box: web-UI
box create + host-off push (PC relay hard-killed, branch advanced on GitHub via
control-box lease). Records fixes #225/#226 and four new backlog findings
(notably the web-UI/queue create path not wiring git leasing).

Claude-Session: https://claude.ai/code/session_01QnaMFuHVZUdTq5VzxiSg2L
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant