ddd92e3dd4
- Add ToolType.home_directory column with default /home/user
- Add Alembic migration to add column, set existing rows, and rewrite
/workspace to /home/user/{{WORKSPACE_NAME}} in legacy templates
- Add merge migration fc8f1a20cbf6 to resolve Alembic multiple heads
- Update manifest compiler to honor manifest.home_directory for HOME,
WORKDIR, /workspace symlink, and default repo mount target
- Update legacy dockerfile/compose instance generation to use
tool_type.home_directory
- Thread resolved home_dir through config profile and git mount expansion
- Generate entrypoint permission fixer to chown home/mounts at startup
- Update base.dockerfile with sudo/passwordless sudo for permission fixer
- Add unit tests for manifest compiler, instance service, and migrations
- Add placeholder integration test for container lifecycle
- Update openspec/tasks/home-path-expansion.md task checkboxes
- Update project maps for modified files
Quality gates: py_compile, ruff, mypy, pytest tests/unit (205 passed),
pytest tests/integration (110 passed, 35 skipped). Alembic round-trip
and container lifecycle integration tests require Docker/PostgreSQL.
Tool Images
This directory contains Dockerfile templates for the base tool types used in Headquarter.
Available Images
| File | Tool | Description |
|---|---|---|
base.dockerfile |
- | Common base with git, nvim, ranger, tmux, node |
code-server.dockerfile |
VS Code | Browser-based VS Code with extra tools |
jupyter.dockerfile |
Jupyter | Jupyter Lab/Notebook with extra tools |
opencode.dockerfile |
OpenCode | OpenCode agent server |
pi-agent.dockerfile |
Pi Agent | Pi coding agent with full terminal setup |
Usage
When creating a tool type in the Tool Workshop, you can reference these Dockerfiles:
- Copy the contents of the desired
.dockerfile - Paste into the "Dockerfile Template" field
- Set
definition_typetodockerfile
Building Locally
To test an image locally:
cd tool-images
docker build -f pi-agent.dockerfile -t pi-agent:latest .
docker run -it pi-agent:latest
Customizing
All images include:
- git - Version control
- neovim - Terminal editor
- ranger - Terminal file manager
- tmux - Terminal multiplexer
- htop - Process viewer
- tree - Directory tree
- jq - JSON processor
- Node.js 20 - For npm-based tools
The pi-agent image additionally includes the Pi Coding Agent for AI-assisted development.
Adding New Images
- Create a new
.dockerfilein this directory - Use
base.dockerfileas a starting point if applicable - Document it in the table above
- Update the tool type in the database via the Tool Workshop