Skip to content

Commit 9f124c9

Browse files
authored
Merge pull request #139 from JerrettDavis/feat/docker-native-cli
feat(cli): add Docker-native install flow and parity docs
2 parents fb953eb + 4d9c281 commit 9f124c9

23 files changed

+3539
-75
lines changed

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Private scripts (contain credentials)
22
scripts/
3+
!scripts/
4+
scripts/*
5+
!scripts/install.sh
6+
!scripts/install.ps1
37

48
# Swift SDK (separate repo)
59
swift/

README.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,16 @@ pip install "headroom-ai[all]"
8282
npm install headroom-ai
8383
```
8484

85+
**Docker-native (no Python or Node on host):**
86+
```bash
87+
curl -fsSL https://raw.githubusercontent.com/chopratejas/headroom/main/scripts/install.sh | bash
88+
```
89+
90+
PowerShell:
91+
```powershell
92+
irm https://raw.githubusercontent.com/chopratejas/headroom/main/scripts/install.ps1 | iex
93+
```
94+
8595
### Any agent — one function
8696

8797
**Python:**
@@ -127,6 +137,8 @@ Use `cache` mode for long-running chats where preserving prior-turn bytes improv
127137

128138
Works with any language, any tool, any framework. **[Proxy docs](docs/proxy.md)**
129139

140+
Prefer Docker as the runtime provider? See **[Docker-native install](docs/docker-install.md)**.
141+
130142
### Coding agents — one command
131143

132144
```bash
@@ -143,6 +155,8 @@ headroom wrap codex --memory # Shares the same memory store
143155

144156
Headroom starts a proxy, points your tool at it, and compresses everything automatically. Add `--memory` for persistent memory that's shared across agents.
145157

158+
In Docker-native mode, Headroom still runs in Docker while wrapped tools run on the host. `wrap claude`, `wrap codex`, `wrap aider`, `wrap cursor`, and OpenClaw plugin setup (`wrap openclaw` / `unwrap openclaw`) are host-managed through the installed wrapper.
159+
146160
### Multi-agent — SharedContext
147161

148162
```python

docker/docker-compose.native.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
services:
2+
cli:
3+
image: ${HEADROOM_IMAGE:-ghcr.io/chopratejas/headroom:latest}
4+
entrypoint: ["headroom"]
5+
working_dir: /workspace
6+
stdin_open: true
7+
tty: true
8+
environment:
9+
HOME: /tmp/headroom-home
10+
volumes:
11+
- ${HEADROOM_WORKSPACE:-.}:/workspace
12+
- ${HEADROOM_HOST_HOME:?set HEADROOM_HOST_HOME}/.headroom:/tmp/headroom-home/.headroom
13+
- ${HEADROOM_HOST_HOME:?set HEADROOM_HOST_HOME}/.claude:/tmp/headroom-home/.claude
14+
- ${HEADROOM_HOST_HOME:?set HEADROOM_HOST_HOME}/.codex:/tmp/headroom-home/.codex
15+
- ${HEADROOM_HOST_HOME:?set HEADROOM_HOST_HOME}/.gemini:/tmp/headroom-home/.gemini
16+
command: ["--help"]
17+
18+
proxy:
19+
image: ${HEADROOM_IMAGE:-ghcr.io/chopratejas/headroom:latest}
20+
entrypoint: ["headroom", "proxy"]
21+
working_dir: /workspace
22+
environment:
23+
HOME: /tmp/headroom-home
24+
HEADROOM_HOST: 0.0.0.0
25+
ports:
26+
- "${HEADROOM_PORT:-8787}:${HEADROOM_PORT:-8787}"
27+
volumes:
28+
- ${HEADROOM_WORKSPACE:-.}:/workspace
29+
- ${HEADROOM_HOST_HOME:?set HEADROOM_HOST_HOME}/.headroom:/tmp/headroom-home/.headroom
30+
- ${HEADROOM_HOST_HOME:?set HEADROOM_HOST_HOME}/.claude:/tmp/headroom-home/.claude
31+
- ${HEADROOM_HOST_HOME:?set HEADROOM_HOST_HOME}/.codex:/tmp/headroom-home/.codex
32+
- ${HEADROOM_HOST_HOME:?set HEADROOM_HOST_HOME}/.gemini:/tmp/headroom-home/.gemini
33+
command: ["--host", "0.0.0.0", "--port", "${HEADROOM_PORT:-8787}"]

0 commit comments

Comments
 (0)