Skip to content

Dockerfile support#7

Closed
deblanco wants to merge 5 commits intoibelick:mainfrom
deblanco:main
Closed

Dockerfile support#7
deblanco wants to merge 5 commits intoibelick:mainfrom
deblanco:main

Conversation

@deblanco
Copy link

@deblanco deblanco commented Feb 5, 2026

Adds Docker support and fixes alignment between package.json and package-lock.json that broke npm ci dependency installation.

Changes

  • Dockerfile: Multi-stage build using Node 22 Alpine
    • Stage 1: Install dependencies with npm ci
    • Stage 2: Build the application
    • Stage 3: Minimal production runtime with non-root user
    • Health check on /api/ping endpoint
    • Exposes port 3000
  • .dockerignore: Excludes unnecessary files from build context
  • README.md: Added Docker build and run instructions
  • package-lock.json: Lockfile sync for transitive dependencies

Usage

docker build -t webclaw .
docker run -p 3000:3000 \
  -e CLAWDBOT_GATEWAY_URL=ws://host.docker.internal:18789 \
  -e CLAWDBOT_GATEWAY_TOKEN=your-token \
  webclaw

@deblanco
Copy link
Author

deblanco commented Feb 7, 2026

@ibelick updated the PR

  • Dockerfile migrated to pnpm
  • apps/webclaw/package.json added a missing dep, clsx for css

@ibelick
Copy link
Owner

ibelick commented Feb 7, 2026

thanks @deblanco!

Two nits:

  • Build/run should target the workspace: pnpm -C apps/webclaw build and pnpm -C apps/webclaw preview --host --port 3000, otherwise it relies on root scripts that aren’t shown.
  • Runtime image currently copies apps/webclaw/src and full node_modules, if not required for vite preview, consider dropping src and/or installing only prod deps to reduce size and exposure

@deblanco
Copy link
Author

deblanco commented Feb 7, 2026

thanks @deblanco!

Two nits:

  • Build/run should target the workspace: pnpm -C apps/webclaw build and pnpm -C apps/webclaw preview --host --port 3000, otherwise it relies on root scripts that aren’t shown.
  • Runtime image currently copies apps/webclaw/src and full node_modules, if not required for vite preview, consider dropping src and/or installing only prod deps to reduce size and exposure

@ibelick pushed small "optimizations" in the Dockerfile

This is funny because running vite preview requires the node_modules folder, since the vite binary is in node_modules, and it also complains if tsconfig.json is not there.

@ibelick
Copy link
Owner

ibelick commented Feb 8, 2026

@deblanco thanks! could we switch the runtime to nginx/Caddy serving only dist/ so we can drop node_modules and dev tooling from production?

@deblanco
Copy link
Author

deblanco commented Feb 8, 2026

@deblanco thanks! could we switch the runtime to nginx/Caddy serving only dist/ so we can drop node_modules and dev tooling from production?

The project cannot serve /dist because this app has been done with @tanstack/react-start which by default uses SSR and that requires running the project with node, and with it requires the node_modules

Producing a SPA (a full static site in /dist) requires changing vite.config.js, and I don't think the project should be open to that.

@ibelick
Copy link
Owner

ibelick commented Feb 8, 2026

@deblanco ok I see, and can we replace pnpm preview with pnpm start (real production command)? thanks

@deblanco
Copy link
Author

deblanco commented Feb 9, 2026

https://github.com/ibelick/webclaw/pull/17/changes

this looks better

@deblanco deblanco closed this Feb 9, 2026
samgibson-bot referenced this pull request in samgibson-bot/gold-dashboard Feb 13, 2026
Implements Issues #3, #5, #7, #8, #13, #14, #15 from gold-ideas.
Adds 7 new admin pages with API routes:

- Fleet Management: agent registry viewer, spawn agents, soul preview
- Memory & Context: workspace file viewer, shared-context browser, priorities editor
- Activity Feed: unified feed from gateway, agents, and feedback
- Approvals: decision recording with compound learning via shared-context
- Metrics: KPI cards, token cost trends, fleet utilization
- Workflows: cron pipeline visualization, review chain launcher, daily roundtable
- Webhooks: create/manage webhook endpoints for external integrations

Updates admin-nav (7 new items), command-palette (7 new actions),
admin-queries (7 new query keys), and types (all new type definitions).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants