docs/install/ansible.md
Deploy OpenClaw to production servers with openclaw-ansible -- an automated installer with security-first architecture.
<Info> The [openclaw-ansible](https://github.com/openclaw/openclaw-ansible) repo is the source of truth for Ansible deployment. This page is a quick overview. </Info>| 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) |
One-command install:
curl -fsSL https://raw.githubusercontent.com/openclaw/openclaw-ansible/main/install.sh | bash
The Ansible playbook installs and configures:
22.14+, remains supported)# Check service status
sudo systemctl status openclaw
# View live logs
sudo journalctl -u openclaw -f
# Restart gateway
sudo systemctl restart openclaw
# Provider login (run as openclaw user)
sudo -i -u openclaw
openclaw channels login
The deployment uses a 4-layer defense model:
To verify your external attack surface:
nmap -p- YOUR_SERVER_IP
Only 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.
If you prefer manual control over the automation:
<Steps> <Step title="Install prerequisites"> ```bash sudo apt update && sudo apt install -y ansible git ``` </Step> <Step title="Clone the repository"> ```bash git clone https://github.com/openclaw/openclaw-ansible.git cd openclaw-ansible ``` </Step> <Step title="Install Ansible collections"> ```bash ansible-galaxy collection install -r requirements.yml ``` </Step> <Step title="Run the playbook"> ```bash ./run-playbook.sh ```Alternatively, run directly and then manually execute the setup script afterward:
```bash
ansible-playbook playbook.yml --ask-become-pass
# Then run: /tmp/openclaw-setup.sh
```
The Ansible installer sets up OpenClaw for manual updates. See Updating for the standard update flow.
To re-run the Ansible playbook (for example, for configuration changes):
cd openclaw-ansible
./run-playbook.sh
This is idempotent and safe to run multiple times.
# Verify permissions
sudo ls -la /opt/openclaw
# Test manual start
sudo -i -u openclaw
cd ~/openclaw
openclaw gateway run
```
# Check sandbox image
sudo docker images | grep openclaw-sandbox
# Build sandbox image if missing (requires source checkout)
cd /opt/openclaw/openclaw
sudo -u openclaw ./scripts/sandbox-setup.sh
# For npm installs without a source checkout, see
# https://docs.openclaw.ai/gateway/sandboxing#images-and-setup
```
For detailed security architecture and troubleshooting, see the openclaw-ansible repo: