The openclaw-ansible repo is the source of truth for Ansible deployment. This page is a quick overview.
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 reachable)
- Tailscale VPN for remote access without exposing services publicly
- Docker for isolated sandbox containers with localhost-only bindings
- Systemd integration with hardening, auto-starting on boot
- One-command setup
Quick start
What gets installed
- Tailscale (mesh VPN for secure remote access)
- UFW firewall (SSH + Tailscale ports only)
- Docker CE + Compose V2 (default agent sandbox backend)
- Node.js and pnpm (OpenClaw requires Node 22.19+ or 23.11+; Node 24 is recommended)
- OpenClaw, installed host-based, not containerized
- A systemd service with security hardening
The gateway runs directly on the host, not in Docker. Agent sandboxing is
optional; this playbook installs Docker because it is the default sandbox
backend. See Sandboxing for other backends.
Post-install setup
Quick commands
Security architecture
Four-layer defense model:- Firewall (UFW): only SSH (22) and Tailscale (41641/udp) exposed publicly
- VPN (Tailscale): gateway reachable only via the VPN mesh
- Docker isolation:
DOCKER-USERiptables chain prevents external port exposure - Systemd hardening:
NoNewPrivileges,PrivateTmp, unprivileged user
Manual installation
Updating
The Ansible installer sets up OpenClaw for manual updates; see Updating for the standard flow. To re-run the playbook (for example, after configuration changes):Troubleshooting
Firewall blocks my connection
Firewall blocks my connection
- Connect via Tailscale VPN first; the gateway is only reachable that way by design.
- SSH (port 22) is always allowed.
Service will not start
Service will not start
Docker sandbox issues
Docker sandbox issues
Channel login fails
Channel login fails
Make sure you are running as the
openclaw user:Advanced configuration
For detailed security architecture and troubleshooting, see the openclaw-ansible repo:Related
- openclaw-ansible: full deployment guide
- Docker: containerized gateway setup
- Sandboxing: agent sandbox configuration
- Multi-Agent Sandbox and Tools: per-agent isolation