#2609: bugfix: Docker build fails on main: .dockerignore excludes required A2UI paths (apps/shared/ClawdbotKit/Tools/CanvasA2UI, vendor/a2ui/renderers/lit)
docker
Cluster:
Docker Build Fixes
What happened
Running ./docker-setup.sh (or docker build ...) fails at RUN pnpm build
Error mentions missing:
/app/apps/shared/ClawdbotKit/Tools/CanvasA2UI
/app/vendor/a2ui/renderers/lit
<img width="784" height="445" alt="image" src="https://github.com/user-attachments/assets/0b48a663-99ab-4c53-973d-fb799e1fc495" />
Why
.dockerignore ignores apps/ and vendor/ entirely 
But scripts/bundle-a2ui.sh requires those paths as inputs 
Dockerfile copies repo with COPY . ., so ignored paths never enter build context
Reproduction
git clone https://github.com/clawdbot/clawdbot.git
cd clawdbot
./docker-setup.sh
# or: docker build -t clawdbot:local .
Environment
•OS: Ubuntu 22.04 (Vultr VPS)
•Docker / Docker Compose versions:
<img width="635" height="614" alt="image" src="https://github.com/user-attachments/assets/c1029f59-8af4-4d8b-85f3-c41d77eee3bd" />
Docker Compose version v5.0.2
Commit/branch:
main e79dd527b
Expected
Docker build succeeds on main
Proposed fix
Adjust .dockerignore to not exclude required A2UI paths, or re-include them using negation patterns, or change Dockerfile/build pipeline to fetch/build A2UI deps in-image.
<!-- greptile_comment -->
<h2>Greptile Overview</h2>
<h3>Greptile Summary</h3>
This PR updates `.dockerignore` to keep the Docker build context small while re-including the specific A2UI inputs needed by `scripts/bundle-a2ui.sh` (used by `pnpm build`). Concretely, it changes broad excludes for `apps/` and `vendor/` into `apps/*` / `vendor/*` plus negation patterns to bring back `apps/shared/ClawdbotKit/Tools/CanvasA2UI/**` and `vendor/a2ui/renderers/lit/**`, which should address the reported missing-path build failure when running `docker build` / `./docker-setup.sh`.
Main thing to double-check is that all *transitive* inputs required by the rolldown config and the `lit` tsconfig are still included; the current negations are very narrow and could still miss referenced files outside those exact subtrees.
<h3>Confidence Score: 4/5</h3>
- This PR is likely safe to merge and should fix the reported Docker build failure, but could still miss transitive A2UI inputs depending on config references.
- The change is limited to `.dockerignore` and aligns with the failure mode described (build context missing required A2UI paths). The remaining uncertainty is whether `rolldown.config.mjs` and `vendor/a2ui/renderers/lit/tsconfig.json` reference files outside the narrowly re-included directories; if they do, Docker builds may still fail.
- .dockerignore (ensure negation patterns cover all transitive inputs for A2UI bundling)
<!-- greptile_other_comments_section -->
<sub>(2/5) Greptile learns from your feedback when you react with thumbs up/down!</sub>
**Context used:**
- Context from `dashboard` - CLAUDE.md ([source](https://app.greptile.com/review/custom-context?memory=fd949e91-5c3a-4ab5-90a1-cbe184fd6ce8))
- Context from `dashboard` - AGENTS.md ([source](https://app.greptile.com/review/custom-context?memory=0d0c8278-ef8e-4d6c-ab21-f5527e322f13))
<!-- /greptile_comment -->
Most Similar PRs
#4238: Fix/docker migration atomicity
by ricardotrevisan · 2026-01-29
82.6%
#9102: Remove UI build for Discord-onlyUpdate Dockerfile
by nbliss16 · 2026-02-04
82.1%
#4070: fix(docker): expose moltbot CLI in Docker image
by saianilsingi · 2026-01-29
81.6%
#4450: fix bug #4366: Error: Config validation failed: plugins.slots.memor...
by tryagain3 · 2026-01-30
80.7%
#3240: Fix Docker build failures on Windows/WSL environments
by Attili-sys · 2026-01-28
80.6%
#10174: fix(docker): exclude .env files from Docker build context
by coygeek · 2026-02-06
79.8%
#22491: Use multi-stage docker build to reduce image size from 4.72GB -> 2....
by mm-zacharydavison · 2026-02-21
79.7%
#23313: feat(docker): add optional build-arg OPENCLAW_INSTALL_DOCKER_CLI to...
by zhuxuwei88-bot · 2026-02-22
79.5%
#11818: fix(docker): resolve build hang by using in-place ownership and opt...
by dilly · 2026-02-08
79.3%
#11576: Update Dockerfile, change file ownership during copy to prevent long …
by fastali · 2026-02-08
79.1%