Welcome to MorphBox! This guide will walk you through everything you need to get up and running with your secure AI development environment.
Before installing MorphBox, ensure you have the following:
MorphBox runs in Docker containers for isolation and security.
Check if Docker is installed:
docker --versionInstall Docker if needed:
- macOS/Windows: Download Docker Desktop
- Linux:
curl -fsSL https://get.docker.com | sh sudo usermod -aG docker $USER # Log out and back in for group changes to take effect
Verify Docker is running:
docker psIf you see a table (even if empty), Docker is running correctly.
Check if Node.js is installed:
node --version
npm --versionInstall Node.js if needed:
- Download from nodejs.org (LTS version recommended)
- Or use a version manager like nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash nvm install --lts
- Memory: Minimum 4GB RAM (8GB recommended)
- Storage: 10GB free disk space
- Network: Internet connection for initial setup
Run this script to check all prerequisites:
#!/bin/bash
echo "Checking MorphBox prerequisites..."
echo ""
# Check Docker
if command -v docker &> /dev/null; then
echo "✅ Docker installed: $(docker --version)"
if docker ps &> /dev/null; then
echo "✅ Docker is running"
else
echo "❌ Docker is not running. Please start Docker Desktop."
fi
else
echo "❌ Docker not found. Please install Docker."
fi
# Check Node.js
if command -v node &> /dev/null; then
echo "✅ Node.js installed: $(node --version)"
else
echo "❌ Node.js not found. Please install Node.js."
fi
# Check npm
if command -v npm &> /dev/null; then
echo "✅ npm installed: $(npm --version)"
else
echo "❌ npm not found. Please install Node.js/npm."
fi
# Check disk space
AVAILABLE=$(df -h . | awk 'NR==2 {print $4}')
echo "📊 Available disk space: $AVAILABLE"Install MorphBox globally to use it from anywhere:
npm install -g morphboxVerify installation:
morphbox --versionTroubleshooting npm global installation:
If you get "command not found" after installation:
-
Find your npm global bin directory:
npm config get prefix
-
Add it to your PATH:
# For bash (add to ~/.bashrc) export PATH="$(npm config get prefix)/bin:$PATH" # For zsh (add to ~/.zshrc) export PATH="$(npm config get prefix)/bin:$PATH" # Reload your shell configuration source ~/.bashrc # or source ~/.zshrc
If you prefer not to install globally:
npx morphboxThis downloads and runs MorphBox on demand.
For developers or contributors:
# Clone the repository
git clone https://github.com/instant-unicorn/morphbox.git
cd morphbox/web
# Install dependencies
npm install
# Link globally (optional)
npm link
# Run directly
npm run start-
Navigate to your project directory:
cd ~/my-project
-
Start MorphBox:
morphbox
-
What happens on first launch:
- Docker image download (one-time, ~500MB)
- Container creation
- Service initialization
- Web interface starts
First launch takes 2-3 minutes. Subsequent launches take <30 seconds.
You'll see output like this:
[INFO] Checking Docker container...
[INFO] Creating MorphBox VM container with workspace: /home/user/my-project
[INFO] Building Docker image... (this may take a few minutes on first run)
[INFO] Container created successfully
[INFO] Starting web interface...
[INFO]
[INFO] ✨ MorphBox is ready!
[INFO]
[INFO] 🌐 Web Interface: http://localhost:3000
[INFO] 📁 Workspace: /home/user/my-project mounted as /workspace
[INFO]
[INFO] Press Ctrl+C to stop MorphBox
Open your browser to http://localhost:3000. You'll see:
-
Terminal Panel (Left)
- Full bash terminal
- Access to
/workspace(your mounted directory) - All development tools available
-
Claude Panel (Right)
- AI assistant interface
- Code-aware context
- Markdown rendering for responses
-
Toolbar (Top)
- New Terminal button
- Layout options
- Settings
For a pure terminal experience:
morphbox --terminalThis launches Claude directly in your terminal - perfect for users who prefer CLI.
- Workspace: Your current directory is mounted as
/workspacein the container - Isolation: The container cannot access files outside the mounted workspace
- Persistence: Claude's configuration and your work persist between sessions
- Security: Network access is restricted to allowed domains only
Let's create a simple project with Claude's help:
-
Start MorphBox in a new directory:
mkdir my-first-morphbox cd my-first-morphbox morphbox -
In the Claude panel, type:
Help me create a Python script that fetches weather data from an API and displays it nicely formatted -
Claude will:
- Write the Python code
- Explain how it works
- Suggest how to run it
-
In the terminal panel:
# See the created file ls -la # Run the script python weather.py
-
Ask Claude:
Create a simple responsive landing page with HTML, CSS, and JavaScript that has a dark mode toggle -
Claude will create:
index.htmlstyles.cssscript.js
-
Preview your work:
# In the terminal panel python -m http.server 8000Then open
http://localhost:8000in a new browser tab.
Ask Claude to teach you:
Explain Docker to me with examples, then help me create my first Dockerfile
Claude will:
- Provide conceptual explanation
- Show practical examples
- Guide you through creating a Dockerfile
- Help you build and run it
morphbox # Start with web UI
morphbox --terminal # Terminal mode
morphbox --vpn # Bind to VPN interface
morphbox --auth # Enable authentication
morphbox --help # Show all options# Navigation
cd /workspace # Your mounted directory
ls -la # List files
# Development
node app.js # Run Node.js apps
python script.py # Run Python scripts
npm install # Install packages
# Claude specific
claude --help # Claude CLI optionsCreate .morphbox.env in your project:
# Change the web interface port
MORPHBOX_PORT=8080
# Enable authentication
MORPHBOX_AUTH_ENABLED=true
MORPHBOX_AUTH_USERNAME=myusernameSee Configuration Reference for all options.
Solution:
# macOS/Windows: Start Docker Desktop application
# Linux:
sudo systemctl start dockerSolution:
# Use a different port
MORPHBOX_PORT=8080 morphboxSolution:
# Linux: Add user to docker group
sudo usermod -aG docker $USER
# Log out and back inSolution:
# Remove any existing container
docker rm -f morphbox-vm
# Try again
morphboxNow that you have MorphBox running:
-
Read the Tutorials - docs/TUTORIALS.md
- Build a full-stack application
- Learn test-driven development
- Create API endpoints
-
Explore Use Cases - docs/USE_CASES.md
- Code reviews
- Learning new languages
- Debugging assistance
-
Customize Your Environment - docs/CONFIGURATION.md
- Add your favorite tools
- Configure shortcuts
- Set up team access
-
Join the Community
- GitHub Discussions
- Report issues
- Share your projects
- Documentation: Full documentation
- Issues: GitHub Issues
- Quick Help: Run
morphbox --help
- Start Simple: Begin with small tasks to understand the workflow
- Be Specific: Give Claude clear, detailed instructions
- Iterate: Refine your requests based on Claude's responses
- Explore: Try different types of projects and languages
- Save Your Work: Remember to commit changes to git
Ready to build something amazing? You now have a powerful AI assistant in a secure sandbox. Happy coding! 🚀