Ansible
Ansible Installation
Deploy RemoteClaw to production servers with remoteclaw-ansible — an automated installer with security-first architecture.
Prerequisites
| Requirement | Details |
|---|---|
| OS | Debian 11+ or Ubuntu 20.04+ |
| Access | Root or sudo privileges |
| Network | Internet connection for package installation |
| Ansible | 2.14+ (installed automatically by the quick-start script) |
What You Get
- Firewall-first security — UFW + Docker isolation (only SSH + Tailscale accessible)
- Tailscale VPN — secure remote access without exposing services publicly
- Docker — isolated sandbox containers, localhost-only bindings
- Defense in depth — 4-layer security architecture
- Systemd integration — auto-start on boot with hardening
- One-command setup — complete deployment in minutes
Quick Start
One-command install:
curl -fsSL https://raw.githubusercontent.com/remoteclaw/remoteclaw-ansible/main/install.sh | bashWhat Gets Installed
The Ansible playbook installs and configures:
- Tailscale — mesh VPN for secure remote access
- UFW firewall — SSH + Tailscale ports only
- Docker CE + Compose V2 — for agent sandboxes
- Node.js 24 + pnpm — runtime dependencies (Node 22 LTS, currently
22.16+, remains supported) - RemoteClaw — host-based, not containerized
- Systemd service — auto-start with security hardening
Post-Install Setup
Quick Commands
# Check service statussudo systemctl status remoteclaw
# View live logssudo journalctl -u remoteclaw -f
# Restart gatewaysudo systemctl restart remoteclaw
# Provider login (run as remoteclaw user)sudo -i -u remoteclawremoteclaw channels loginSecurity Architecture
The deployment uses a 4-layer defense model:
- Firewall (UFW) — only SSH (22) + Tailscale (41641/udp) exposed publicly
- VPN (Tailscale) — gateway accessible only via VPN mesh
- Docker isolation — DOCKER-USER iptables chain prevents external port exposure
- Systemd hardening — NoNewPrivileges, PrivateTmp, unprivileged user
To verify your external attack surface:
nmap -p- YOUR_SERVER_IPOnly port 22 (SSH) should be open. All other services (gateway, Docker) are locked down.
Docker is installed for agent sandboxes (isolated tool execution), not for running the gateway itself. See Multi-Agent Sandbox and Tools for sandbox configuration.
Manual Installation
If you prefer manual control over the automation:
Alternatively, run directly and then manually execute the setup script afterward:```bashansible-playbook playbook.yml --ask-become-pass```Updating
The Ansible installer sets up RemoteClaw for manual updates. See Updating for the standard update flow.
To re-run the Ansible playbook (for example, for configuration changes):
cd remoteclaw-ansible./run-playbook.shThis is idempotent and safe to run multiple times.
Troubleshooting
# Verify permissionssudo ls -la /opt/remoteclaw
# Test manual startsudo -i -u remoteclawcd ~/remoteclawremoteclaw gateway run```# Check sandbox imagesudo docker images | grep remoteclaw-sandbox
# Build sandbox image if missingcd /opt/remoteclaw/remoteclawsudo -u remoteclaw ./scripts/sandbox-setup.sh```Advanced Configuration
For detailed security architecture and troubleshooting, see the remoteclaw-ansible repo:
Related
- remoteclaw-ansible — full deployment guide
- Docker — containerized gateway setup
- Sandboxing — agent sandbox configuration
- Multi-Agent Sandbox and Tools — per-agent isolation