| name | openclaw-remote-install |
| version | 1.0.0 |
| description | One-click remote OpenClaw deployment via SSH. Auto-detects OS and selects best method (Docker/Podman/npm). Use when: (1) Installing on VPS/cloud servers, (2) Automating multi-machine deployment, (3) Configuring models/channels/gateway post-install.
|
OpenClaw Remote Install Skill
This skill handles remote installation and configuration of OpenClaw on remote servers via SSH with intelligent method selection and async execution support.
Log Directory
All installation logs are automatically saved to:
~/.openclaw/remote-install-logs/<host>_<timestamp>/
Each installation creates:
install.log - Main installation log with timestamps
install_output.log - Raw command output
install.pid - Background process PID (async mode)
install.status - Installation status: running/success/failed/timeout
A symlink latest points to the most recent log directory.
Supported Installation Methods
| Method | Description | Best For |
|---|
auto (default) | Auto-detect best method based on OS | Most cases |
installer | Official install.sh script | Standard Linux/macOS |
cli | install-cli.sh (local prefix) | No system Node dependency |
npm | npm install -g openclaw | Node 22+ already installed |
pnpm | pnpm add -g openclaw | pnpm users |
docker | Docker container | Containerized deployments |
podman | Podman rootless container | Rootless environments |
Usage
Quick Start (Auto-detect)
./scripts/install_openclaw_remote.sh <host> <user> <key_path>
Async Installation (Recommended for long-running installs)
./scripts/install_openclaw_remote.sh <host> <user> <key_path> --async
tail -f ~/.openclaw/remote-install-logs/latest/install_output.log
cat ~/.openclaw/remote-install-logs/latest/install_status
With Password
./scripts/install_openclaw_remote.sh <host> <user> <password> --password-based
Force Specific Method
./scripts/install_openclaw_remote.sh <host> <user> <key_path> --docker
./scripts/install_openclaw_remote.sh <host> <user> <key_path> --podman
./scripts/install_openclaw_remote.sh <host> <user> <key_path> --method npm
Non-interactive (Automation)
./scripts/install_openclaw_remote.sh <host> <user> <key_path> \
--non-interactive \
--configure
Custom Log Directory
./scripts/install_openclaw_remote.sh <host> <user> <key_path> \
--log-dir /path/to/custom/logs
Auto-Detection Logic
The installer automatically selects the best method:
- If
--docker or --podman flag: Use container method (if available)
- If Node 22+ installed: Use
pnpm or npm method
- Otherwise: Use official
install.sh script
Supported Operating Systems
- Ubuntu/Debian (apt)
- Fedora/RHEL/CentOS (dnf/yum)
- Alpine (apk)
- Arch Linux (pacman)
- macOS (Homebrew)
- Windows (WSL2) - via installer script
Post-Installation
ssh user@host
openclaw status
openclaw doctor
openclaw configure
python3 scripts/configure_openclaw_remote.py <host> <user> \
--auth <key> --key-based --configure \
--auth-choice openai-api-key --api-key "your-key"
Configuration Options
Auth Providers (via Python script)
openai-api-key - OpenAI API
anthropic-api-key - Anthropic API
custom-api-key - Custom OpenAI-compatible endpoint
azure-openai - Azure OpenAI
google-ai - Google AI (Gemini)
mistral-api-key - Mistral AI
zai-api-key - Z.AI endpoints
Secret Modes
plaintext - Store directly in config (not recommended)
ref - Environment variable reference (recommended)
Gateway Modes
--gateway-mode local
--gateway-mode remote
--gateway-port 18789
Environment Variables
For secure non-interactive configuration:
export OPENAI_API_KEY="sk-..."
export ANTHROPIC_API_KEY="sk-ant-..."
export CUSTOM_API_KEY="your-key"
Then use --secret-mode ref to reference them securely.
Troubleshooting
SSH Issues
chmod 600 ~/.ssh/id_rsa
ssh-add ~/.ssh/id_rsa
Installation Issues
- Ensure curl is installed
- Check Node.js 22+ requirement (for non-Docker methods)
- Review logs:
~/.openclaw/logs/
Docker Issues
docker ps
docker logs openclaw
docker restart openclaw