Skip to content

Fix Docker-in-Docker by adding /var/lib/docker volume#24

Merged
gricha merged 1 commit intomainfrom
feature/perry-in-perry
Jan 7, 2026
Merged

Fix Docker-in-Docker by adding /var/lib/docker volume#24
gricha merged 1 commit intomainfrom
feature/perry-in-perry

Conversation

@gricha
Copy link
Copy Markdown
Owner

@gricha gricha commented Jan 7, 2026

Summary

  • Add /var/lib/docker volume mount to workspace containers, fixing Docker-in-Docker
  • Pre-install Playwright Chromium in workspace image for Perry development

Problem

DinD was broken because Perry only mounted /home/workspace as a volume. Without /var/lib/docker on a real volume, nested Docker tries overlay-on-overlay which fails with "invalid argument".

The original subroutinecom/workspace project mounted three volumes including /var/lib/docker - this was missing in Perry.

Changes

src/workspace/manager.ts

  • Create workspace-{name}-docker volume alongside existing home volume
  • Mount to /var/lib/docker in container
  • Clean up volume on workspace deletion

perry/Dockerfile

  • Add bunx playwright install chromium --with-deps for web testing support

Test plan

  • bun run validate passes (101 tests + 20 Playwright)
  • New workspace has both volumes created
  • docker run --rm hello-world works inside workspace
  • Existing workspaces unaffected (will get docker volume on recreate)

🤖 Generated with Claude Code

Two changes:

1. Add /var/lib/docker volume mount to workspace containers
   - Without this, nested Docker tries to use overlay-on-overlay which fails
   - This matches the original subroutinecom/workspace behavior
   - Creates workspace-{name}-docker volume alongside workspace-{name} volume
   - Volume is cleaned up on workspace deletion

2. Pre-install Playwright Chromium in workspace image
   - Enables running Playwright tests inside workspaces
   - Only dependency that was missing for full Perry development

With these changes, the full Perry validation loop (bun run validate)
works inside a workspace, enabling Perry-in-Perry development.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@gricha gricha merged commit ffcd563 into main Jan 7, 2026
5 checks passed
@gricha gricha deleted the feature/perry-in-perry branch January 7, 2026 06:55
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.

1 participant