AI-powered development environment with Claude Code integration. Run Claude Code in a containerized environment with full terminal access.
For a secure production deployment, first run vps-setup to configure your server:
curl -fsSL https://raw.githubusercontent.com/tetrixdev/vps-setup/main/setup.sh | bashThen install PocketDev:
curl -fsSL https://raw.githubusercontent.com/tetrixdev/pocket-dev/main/install.sh | sudo bashThe interactive wizard will guide you through:
- Domain configuration with DNS verification
- Access restriction (Tailscale, IP whitelist, or public)
- SSL certificate setup
For local testing without a domain:
curl -fsSL https://raw.githubusercontent.com/tetrixdev/pocket-dev/main/install.sh | sudo bash -s -- --localOr with a custom port:
curl -fsSL https://raw.githubusercontent.com/tetrixdev/pocket-dev/main/install.sh | sudo bash -s -- --local --port=8080The installer supports both interactive mode and CLI parameters for automation:
# Interactive (recommended)
./install.sh
# Non-interactive examples
./install.sh --domain=pocketdev.example.com --restriction=tailscale
./install.sh --domain=pocketdev.example.com --restriction=whitelist --ips="1.2.3.4,10.0.0.0/8"
./install.sh --local --port=8080| Option | Description |
|---|---|
--domain=DOMAIN |
Domain for PocketDev (e.g., pocketdev.example.com) |
--restriction=MODE |
Access restriction: tailscale, whitelist, or none |
--ips=IPS |
IP whitelist (comma-separated, requires --restriction=whitelist) |
--local |
Local mode - skip domain/SSL setup |
--port=PORT |
Port for local mode (default: 80) |
--skip-dns-check |
Skip DNS verification |
-h, --help |
Show help message |
- Production: Run vps-setup first (installs Docker, proxy-nginx, configures firewall)
- Local: Docker and Docker Compose
- Claude Code in Browser - Full Claude Code CLI through a web interface
- Multiple AI Providers - Claude Code, Anthropic API, or OpenAI
- Git Integration - Configure GitHub credentials via web UI
- Persistent Workspace - Your projects survive container restarts
- Self-Contained - Everything runs in Docker, nothing installed on host
On first visit, PocketDev will guide you through:
- AI Provider Setup - Configure Claude Code, Anthropic API, or OpenAI
- Git Credentials (optional) - For git operations inside the environment
All configuration is done through the web UI.
cd /docker-apps/pocket-dev && docker compose pull && docker compose up -dPocketDev uses a two-layer security model when deployed with vps-setup:
-
VPS-level (vps-setup): SSH access control via iptables
- Tailscale-only mode: SSH only accessible via Tailscale
- IP whitelist mode: SSH restricted to specific IPs
- Open mode: Standard SSH access
-
Web UI-level (install.sh): Application access via nginx
- Tailscale restriction: Only 100.64.0.0/10 can access
- IP whitelist: Custom IP restrictions
- Public: No restriction (requires explicit confirmation)
See vps-setup and proxy-nginx for details.
If you encounter API errors like "tool use concurrency issues" or other Claude Code bugs, you can pin to a specific version by adding this to your .env file:
CLAUDE_CODE_VERSION=2.1.17Then restart the containers:
docker compose down && docker compose up -dThe queue container will automatically install the specified version on startup. Remove the variable or set it empty to use the default (latest) version.
Want to contribute to PocketDev? See CONTRIBUTING.md for development setup.
PocketDev is source-available software. Free for personal and commercial development work. See LICENSE.md for details.