Go to file
Vishal Jain 0ec49a426a Update project documentation for Phase 1 completion
- Update scratchpad with completed MVP status and Phase 2 roadmap
- Rewrite README with comprehensive setup instructions and feature overview
- Document next steps: firewall security and shell history persistence
2025-06-11 10:43:22 +01:00
config Initial commit: Claude Docker setup 2025-06-11 10:29:15 +01:00
scripts Initial commit: Claude Docker setup 2025-06-11 10:29:15 +01:00
templates Add MCP settings template 2025-06-11 10:29:48 +01:00
.env.example Initial commit: Claude Docker setup 2025-06-11 10:29:15 +01:00
.gitignore Initial commit: Claude Docker setup 2025-06-11 10:29:15 +01:00
Dockerfile Initial commit: Claude Docker setup 2025-06-11 10:29:15 +01:00
LICENSE Initial commit: Claude Docker setup 2025-06-11 10:29:15 +01:00
README.md Update project documentation for Phase 1 completion 2025-06-11 10:43:22 +01:00
scratchpad.md Update project documentation for Phase 1 completion 2025-06-11 10:43:22 +01:00

Claude Docker

A Docker container setup for running Claude Code with full autonomous permissions and SMS notifications via Twilio MCP integration.

What This Does

  • Runs Claude Code in an isolated Docker container with full autonomy
  • Integrates Twilio MCP for SMS notifications when tasks complete
  • Provides persistent context across sessions via scratchpad files
  • Auto-configures Claude settings for seamless operation
  • Simple one-command setup and usage

Quick Start

  1. Clone and install:

    git clone https://github.com/VishalJ99/claude-docker.git
    cd claude-docker
    ./scripts/install.sh
    
  2. Configure your API keys:

    # Edit ~/.claude-docker/.env with your keys
    ANTHROPIC_API_KEY=your_anthropic_key
    TWILIO_ACCOUNT_SID=your_twilio_sid  
    TWILIO_AUTH_TOKEN=your_twilio_token
    TWILIO_FROM_NUMBER=your_twilio_number
    TWILIO_TO_NUMBER=your_phone_number
    
  3. Use from any project directory:

    claude
    

Features

🤖 Full Autonomy

  • Claude runs with --dangerously-skip-permissions for complete access
  • Can read, write, execute, and modify any files in your project
  • No permission prompts or restrictions

📱 SMS Notifications

  • Automatic SMS via Twilio when Claude completes tasks
  • Configurable via MCP integration
  • Optional - works without if Twilio not configured

🗂️ Context Persistence

  • Maintains scratchpad.md files for project memory
  • Persistent across container sessions
  • Helps Claude remember project context

🐳 Clean Environment

  • Each session runs in fresh Docker container
  • Container auto-removes on exit
  • No system pollution or conflicts

How It Works

  1. Wrapper Script: claude-docker.sh handles container lifecycle
  2. Auto-Setup: Creates .claude directory with proper config on first run
  3. MCP Integration: Twilio MCP server runs alongside Claude Code
  4. Project Mounting: Your project directory mounts to /workspace
  5. Clean Exit: Container removes itself when Claude session ends

Directory Structure

claude-docker/
├── Dockerfile              # Main container definition
├── scripts/
│   ├── claude-docker.sh   # Wrapper script for container
│   ├── install.sh         # Installation script  
│   └── startup.sh         # Container startup script
├── config/
│   └── mcp-config.json   # MCP server configuration
└── templates/
    └── scratchpad.md     # Template for project context

Configuration

The setup creates ~/.claude-docker/ with:

  • .env - API keys and configuration
  • settings.json - Claude Code settings with MCP
  • CLAUDE.md - Instructions for Claude behavior

Requirements

  • Docker installed and running
  • Anthropic API key
  • (Optional) Twilio account for SMS notifications

Next Steps

Phase 2 - Security & Persistence Enhancements:

  • Network firewall to whitelist only essential domains
  • Persistent shell history between sessions
  • Additional persistence features (npm cache, git config)

Repository

https://github.com/VishalJ99/claude-docker