114 lines
3.4 KiB
Markdown
114 lines
3.4 KiB
Markdown
# Clawtainer
|
|
|
|
Browser-accessible Linux desktop with AI coding tools pre-installed: OpenClaw, VS Code, Cursor, Antigravity, and Anthropic Python SDK.
|
|
|
|
## Quick Start
|
|
|
|
```bash
|
|
git clone git@git.nixc.us:colin/clawtainer.git
|
|
cd clawtainer
|
|
docker compose up -d
|
|
```
|
|
|
|
Access from any device on your LAN:
|
|
- **Desktop (VNC)**: `http://YOUR_IP:6901` (no password)
|
|
- **OpenClaw Gateway**: `http://YOUR_IP:18789`
|
|
|
|
**First-time setup:** OpenClaw requires API keys from AI providers (Anthropic, OpenAI, Google, etc.). See [OpenClaw Setup](#openclaw-setup) below.
|
|
|
|
## Run (Docker Compose)
|
|
|
|
```bash
|
|
docker compose up -d
|
|
```
|
|
|
|
- **Desktop**: **http://localhost:6901** (no password required)
|
|
- **OpenClaw Control UI**: http://localhost:18789 (token: `clawtainer`)
|
|
|
|
The nginx proxy strips TLS from the VNC connection for easy browser access.
|
|
|
|
Set OpenClaw token: `OPENCLAW_GATEWAY_TOKEN=mytoken docker compose up -d`
|
|
|
|
## Build (standalone)
|
|
|
|
```bash
|
|
docker build -t clawtainer:local .
|
|
```
|
|
|
|
## Kasm Workspaces Setup
|
|
|
|
1. Register a new Workspace in Kasm Admin
|
|
2. Set **Docker Image** to `clawtainer:local` (or your tagged name)
|
|
3. Add port **18789** to the workspace's port configuration
|
|
4. Save and launch a session
|
|
|
|
## OpenClaw Setup
|
|
|
|
OpenClaw is an **open-source AI agent orchestration platform** that connects to AI provider APIs (Anthropic, OpenAI, Google, etc.). The Gateway auto-starts on port 18789, but you need to configure it with your own API keys.
|
|
|
|
**Setup Options:**
|
|
|
|
1. **Interactive Wizard** (easiest):
|
|
```bash
|
|
openclaw onboard
|
|
```
|
|
Walks you through model selection and API key entry.
|
|
|
|
2. **Manual Configuration**:
|
|
Edit `~/.openclaw/openclaw.json` or use environment variables:
|
|
```bash
|
|
export ANTHROPIC_API_KEY="sk-ant-..."
|
|
export OPENAI_API_KEY="sk-..."
|
|
export GOOGLE_API_KEY="AIza..."
|
|
```
|
|
|
|
3. **Via Gateway UI**:
|
|
- Open `http://localhost:18789` in browser
|
|
- Navigate to Settings
|
|
- Add your API keys for desired providers
|
|
|
|
**Get API Keys:**
|
|
- **Anthropic (Claude)**: https://console.anthropic.com/
|
|
- **OpenAI (GPT)**: https://platform.openai.com/api-keys
|
|
- **Google (Gemini)**: https://makersuite.google.com/app/apikey
|
|
- **OpenRouter**: https://openrouter.ai/keys
|
|
|
|
**Note:** OpenClaw itself is free and open-source. You only pay for API usage from your chosen AI providers.
|
|
|
|
## Usage
|
|
|
|
After startup, open the desktop at port 6901. Desktop shortcuts are available:
|
|
- **OpenClaw Control** - Opens the gateway UI at `http://localhost:18789`
|
|
- **VS Code** - Launches Visual Studio Code
|
|
- **Cursor** - AI-powered code editor
|
|
- **Antigravity** - Google's AI IDE
|
|
|
|
Access the Control UI to configure API keys, set up messaging channels (Telegram, WhatsApp, etc.), and manage AI agents.
|
|
|
|
## What's Included
|
|
|
|
**AI Coding Tools:**
|
|
- **OpenClaw** - Auto-starts gateway on port 18789
|
|
- **Cursor IDE** - AI-powered code editor
|
|
- **Google Antigravity** - Google's AI IDE with Gemini
|
|
- **VS Code** - Microsoft Visual Studio Code
|
|
- **Anthropic Python SDK** - Claude API access (`pip install anthropic`)
|
|
|
|
**Base:**
|
|
- Kasm Desktop: `kasmweb/debian-bookworm-desktop:1.18.0-rolling-daily`
|
|
- Node: 22 (from NodeSource)
|
|
- Python 3 with pip
|
|
|
|
**Network:**
|
|
- Nginx proxy strips TLS for plain HTTP access
|
|
- No password authentication on VNC interface
|
|
- LAN accessible by default
|
|
|
|
## License
|
|
|
|
Creative Commons Attribution 4.0 International (CC BY 4.0)
|
|
|
|
Copyright (c) 2026 Colin Knapp - https://colinknapp.com
|
|
|
|
See LICENSE file for details.
|