Skip to content

lightconsen/bass

Repository files navigation

Claude Code Web Terminal

Web-based terminal for Claude Code with Docker sandbox isolation. Each user gets an isolated Docker container with a persisted workspace.

Quick Start

Option 1: Run on Host (Simplest)

# Install dependencies
pnpm install

# Build Docker image for Claude sandbox
npm run build

# Run server
ANTHROPIC_AUTH_TOKEN=sk-xxx ANTHROPIC_BASE_URL=https://api.kimi.com/coding/ npm start

# Open browser
open http://localhost:3000

Option 2: Run Server in Docker (Full Containerization)

# Build both images
docker build -t claude-code-sandbox -f Dockerfile .
docker build -t claude-server -f Dockerfile.server .

# Run server container with Docker socket access
docker run -d \
  -p 3000:3000 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v $(pwd)/.claude-workspaces:/app/.claude-workspaces \
  -e ANTHROPIC_AUTH_TOKEN=sk-xxx \
  -e ANTHROPIC_BASE_URL=https://api.kimi.com/coding/ \
  claude-server

# Or use docker-compose
docker-compose up --build

Architecture

Host Mode (Option 1)

Host Machine
├── Node.js server.js (host)
│   └── Spawns Docker containers per client
│       └── Container: claude-code-sandbox
│           └── /workspace (mounted from host)

Docker Mode (Option 2)

Host Machine
├── Docker
│   ├── Container: claude-server
│   │   └── Node.js server.js
│   │       └── Spawns sibling containers via Docker socket
│   └── Container: claude-code-sandbox (per client)
│       └── /workspace (mounted from host)

Environment Variables

Variable Description Default
ANTHROPIC_AUTH_TOKEN API token for Claude (required)
ANTHROPIC_BASE_URL API base URL (Claude default)
ANTHROPIC_MODEL Model name (Claude default)
PORT Server port 3000
DOCKER_IMAGE Sandbox image name claude-code-sandbox

Security Features

Each client container has:

  • Isolated filesystem: Only /workspace is writable (mounted from host)
  • Network access: Internet allowed via --network bridge
  • Full permissions: --dangerously-skip-permissions enabled
  • Auto-cleanup: Container stops when user disconnects

Development

# Install deps
pnpm install

# Build Docker image
npm run build

# Run dev mode (build + start)
npm run dev

About

Team Collaboration with Claude Code

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors