Web UI wrapper for Claude Code with full system access - AI-powered development environment
3.2K
docker pull picotofu/tofucode:latest
docker run -d \
-p 3000:3000 \
-v ~/.claude/.credentials.json:/home/appuser/.claude/.credentials.json:ro \
-v $(pwd):/workspace \
picotofu/tofucode:latest
# Option 1: Mount credentials only (isolated, recommended)
-v ~/.claude/.credentials.json:/home/appuser/.claude/.credentials.json:ro
# Option 2: Mount full Claude folder (host interop)
-v ~/.claude:/home/appuser/.claude
# Option 3: Environment variable
-e ANTHROPIC_API_KEY=your_key_here
# Mount your project directory
-v /path/to/project:/workspace
-v $(pwd):/workspace
# Web UI auth and settings
-v ~/.tofucode:/home/appuser/.tofucode
# Claude sessions (isolated)
-v tofucode-sessions:/home/appuser/.claude/projects
# Full Claude interop (shares everything with host)
-v ~/.claude:/home/appuser/.claude
-e PORT=3000
-e HOST=0.0.0.0
-e AUTH_DISABLED=true
-e DEBUG=true
-e ROOT_PATH=/workspace
-e DEBUG_TOKEN=your-bypass-token
-e ANTHROPIC_API_KEY=your_key_here
docker run picotofu/tofucode:latest [args]
--port 8080
--host 0.0.0.0
--no-auth
--debug
--root /workspace
--config /config/config.json
--bypass-token your-token
Mount a config.json:
-v ./config.json:/config/config.json:ro
{
"port": 8080,
"host": "0.0.0.0",
"auth": false,
"debug": true,
"root": "/workspace",
"bypassToken": "your-secret-token"
}
Then run with: --config /config/config.json
docker build \
--build-arg USER_ID=$(id -u) \
--build-arg GROUP_ID=$(id -g) \
-t tofucode:custom .
Default: USER_ID=1000, GROUP_ID=1000
docker run -d \
--name tofucode \
-p 3000:3000 \
-v ~/.claude/.credentials.json:/home/appuser/.claude/.credentials.json:ro \
-v $(pwd):/workspace \
picotofu/tofucode:latest --root /workspace
docker volume create tofucode-sessions
docker run -d \
--name tofucode \
-p 8080:8080 \
-e ANTHROPIC_API_KEY=your_key \
-v ~/projects:/workspace \
-v tofucode-sessions:/home/appuser/.claude/projects \
picotofu/tofucode:latest --port 8080
docker run -d \
--name tofucode \
-p 3000:3000 \
-v ~/.claude:/home/appuser/.claude \
-v ~/projects:/workspace \
picotofu/tofucode:latest --root /workspace
docker run -d \
--name tofucode-ci \
-p 3000:3000 \
-e ANTHROPIC_API_KEY=your_key \
-e DEBUG_TOKEN=ci-token \
-v /ci/workspace:/workspace \
picotofu/tofucode:latest --no-auth --root /workspace
Supports linux/amd64 and linux/arm64:
docker pull picotofu/tofucode:latest
docker pull --platform linux/amd64 picotofu/tofucode:latest
docker pull --platform linux/arm64 picotofu/tofucode:latest
-p 8080:3000 # Map host 8080 to container 3000
-p 127.0.0.1:8080:3000 # Bind to localhost only
git clone https://github.com/picotofu/tofucode.git
cd tofucode
docker build -t tofucode:local .
docker run -p 3000:3000 -e ANTHROPIC_API_KEY=key tofucode:local
| Path | Type | Purpose |
|---|---|---|
/home/appuser/.claude/.credentials.json | Required* | API credentials only (isolated, recommended) |
/home/appuser/.claude | Required* | Full Claude config, API key, sessions (host interop) |
ANTHROPIC_API_KEY | Required* | API key via environment variable |
/home/appuser/.claude/projects | Optional | Sessions only (isolated persistent) |
/home/appuser/.tofucode | Optional | Web UI auth and settings |
/workspace | Optional | Your project files |
/config/config.json | Optional | Configuration file |
*Only one API authentication method required
Content type
Image
Digest
sha256:c647c6e86…
Size
442 MB
Last updated
5 months ago
docker pull picotofu/tofucode