feat: remove webui
This commit is contained in:
parent
1dee611fb3
commit
e78a302cb9
6 changed files with 9 additions and 112 deletions
13
CLAUDE.md
13
CLAUDE.md
|
|
@ -8,16 +8,13 @@ This file provides context and guidance for working with this project.
|
|||
|
||||
## Architecture
|
||||
|
||||
Three containers managed by Docker Compose:
|
||||
Two containers managed by Docker Compose:
|
||||
|
||||
- **`claude`** — Claude Code CLI (`node:20-alpine`), runs as the built-in `node` user (UID 1000), isolated to an internal-only Docker network
|
||||
- **`webui`** — Claude Code as a browser terminal via ttyd (`node:20-alpine`), `node` user (UID 1000), same network isolation, basic auth required
|
||||
- **`proxy`** — Squid forward proxy (`alpine:3.21`), `squid` user, bridges the internal network to the internet with an egress allowlist
|
||||
|
||||
Key Docker network property: `claude-internal` has `internal: true`, meaning Docker adds no default gateway. The `claude` and `webui` containers physically cannot reach the internet without going through the `proxy` container.
|
||||
|
||||
The `webui` service reuses `claude/Dockerfile`. Its entrypoint (`claude/webui-entrypoint.sh`) starts `ttyd --credential user:pass claude` instead of `claude` directly.
|
||||
|
||||
Auth supports three modes (checked at startup by `claude.sh`):
|
||||
- `ANTHROPIC_API_KEY` — API key
|
||||
- `CLAUDE_CODE_OAUTH_TOKEN` — 1-year token from `claude setup-token` (headless-friendly)
|
||||
|
|
@ -27,11 +24,10 @@ Auth supports three modes (checked at startup by `claude.sh`):
|
|||
|
||||
```
|
||||
docker-claude/
|
||||
├── claude.sh # Control script: start/stop/run/web/web-stop/update/logs/status/shell
|
||||
├── claude.sh # Control script: start/stop/run/update/logs/status/shell
|
||||
├── docker-compose.yml # Service definitions and network topology
|
||||
├── claude/
|
||||
│ ├── Dockerfile # Claude Code + ttyd (node:20-alpine, UID 1000)
|
||||
│ └── webui-entrypoint.sh # Entrypoint for webui: starts ttyd wrapping claude
|
||||
│ └── Dockerfile # Claude Code (node:20-alpine, UID 1000)
|
||||
├── proxy/
|
||||
│ ├── Dockerfile # Squid proxy sidecar (alpine:3.21, squid user)
|
||||
│ └── squid.conf # Squid ACL config — egress allowlist lives here
|
||||
|
|
@ -45,9 +41,8 @@ docker-claude/
|
|||
|
||||
```bash
|
||||
chmod +x claude.sh build.sh
|
||||
cp .env.example .env # set ANTHROPIC_API_KEY (and WEBUI_PASSWORD for web mode)
|
||||
cp .env.example .env # set ANTHROPIC_API_KEY
|
||||
cd /path/to/project && ./claude.sh start # start proxy + launch Claude (pulls images, mounts CWD)
|
||||
./claude.sh web # start proxy + webui (browser terminal on :7681)
|
||||
./claude.sh update # pull latest images from registry
|
||||
./build.sh # build images locally (development)
|
||||
```
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue