fix(docker): install git in dashboard runtime image - #131
Open
Afigreja71 wants to merge 4 commits into
Open
Conversation
v0.25.0 — Knowledge Base (pgvector, multi-connection)
The embedded terminal spawns claude-code/openclaude CLI sessions that rely on `git worktree` for agent isolation, but the dashboard runtime image never installed git — only Dockerfile.swarm (telegram/scheduler) had it. Every worktree-isolated agent call failed with "not in a git repository" regardless of working directory.
Reviewer's guide (collapsed on small PRs)Reviewer's GuideThe dashboard runtime image now permanently includes Git, enabling worktree-isolated File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
…tion Installing git alone wasn't enough — .dockerignore excludes .git/ from the build context, so /workspace itself never has git history in either runtime image. ADWs/runner.py (used by Telegram/heartbeat-triggered agent calls) spawns the CLI with cwd=WORKSPACE=/workspace root, which still failed worktree creation with "not in a git repository" even after installing the git binary. Fix: git init + an empty root commit in /workspace after the final COPY step in both Dockerfile.swarm and Dockerfile.swarm.dashboard, so every container boots with a valid HEAD regardless of which entrypoint (interactive terminal, Telegram bot, scheduler) spawns the agent CLI. No application source is added to the commit.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The embedded terminal in the EvoNexus dashboard spawns
claude-code/openclaudeCLI sessions that rely ongit worktreefor agent isolation. The dashboard runtime image (Dockerfile.swarm.dashboard) never installedgit— onlyDockerfile.swarm(used by the telegram/scheduler services) had it.Every worktree-isolated agent call inside the dashboard terminal failed with:
regardless of working directory, because
gititself was missing from$PATH.Fix
Add
gitto theapt-get installline in the runtime stage ofDockerfile.swarm.dashboard, matching whatDockerfile.swarmalready does.Verification
Applied the same fix live (runtime
apt-get install git+git initin the persistent workspace volume) on a runningevonexus_dashboardcontainer and confirmedgit worktree add/removeworks end-to-end. This PR makes that fix permanent in the image so it survives redeploys.Summary by Sourcery
Install Git in the dashboard runtime image to restore worktree-isolated agent sessions.
Bug Fixes:
Build: