On this page
On this page
Hosting
Ansible
Deploy OpenClaw to production servers with openclaw-ansible, an automated installer with a 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 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 24.16+ or 26.1+; Node 26 is recommended)
- OpenClaw, installed host-based, not containerized
- A systemd service with security hardening
Post-install setup
Switch to the openclaw user
Run the onboarding wizard
The post-install script guides you through configuring OpenClaw.
Connect messaging channels
Log in to WhatsApp, Telegram, Discord, or Signal:
Verify the installation
Connect to Tailscale
Join your VPN mesh for secure remote access.
Quick commands
openclaw gateway restart records managed restart intent. For a system-scope service, follow the exact sudo systemctl restart <unit> command it prints.
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
Verify your external attack surface:
Only port 22 (SSH) should be open. Gateway and Docker stay locked down.
Docker is installed for agent sandboxes (isolated tool execution), not for running the gateway. See Multi-agent sandbox and tools for sandbox configuration.
Manual installation
Install prerequisites
Clone the repository
Install Ansible collections
Run the playbook
Or run the playbook directly and then run the setup script manually:
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):
This is idempotent and safe to run multiple times.
Troubleshooting
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
Docker sandbox issues
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