- Akamai Cloud account and API token
- Terraform installed locally
- SSH key pair
- Model provider credentials
- Current public IP address
Before you start
Gather these tools and credentials before you begin. You’ll use your SSH key and public IP address to secure access to the agent VM.
Deploy OpenClaw in five steps
Provision the infrastructure, connect to your VM, and install OpenClaw as an always-on background service.
Clone the OpenClaw quickstart, and move into the project directory.
git clone https://github.com/akamai-developers/openclaw-quickstart.git
cd openclaw-quickstart
The repository includes the Terraform configuration, cloud-init setup, variables, and deployment outputs.
Set your Linode API token:
export LINODE_TOKEN="your-linode-api-token"
Create a terraform.tfvars file using the included example:
linode_token = "your-linode-api-token"
public_key_path = "~/.ssh/openclaw.pub"
allowed_ssh_cidrs = ["YOUR_IP/32"]
region = "us-east"
instance_type = "g6-nanode-1"
Replace YOUR_IP/32 with your current public IP address. Do not leave SSH open to 0.0.0.0/0.
The default Nanode plan is sufficient because the VM runs the agent process while model requests are handled through an external API.
Initialize Terraform and review the planned infrastructure:
terraform init
terraform plan
terraform apply
Terraform creates the Linode, installs OpenClaw, creates a dedicated openclaw user, disables password authentication, and configures the Cloud Firewall.
View your deployment output:
terraform output -json
Connect to the VM:
ssh openclaw@$(terraform output -raw instance_ip)
Run the OpenClaw onboarding wizard, and install the agent as a background service:
openclaw onboard --install-daemon
The wizard guides you through:
- Model provider credentials
- Workspace settings
- Agent configuration
- Messaging integrations such as Slack, Telegram, WhatsApp, or Discord
Installing OpenClaw as a daemon keeps the agent running after you disconnect and restarts it when the VM reboots.
Confirm that the OpenClaw gateway is running:
openclaw gateway status
Follow the agent logs:
openclaw logs --follow
Restart the gateway if needed:
openclaw gateway restart
To access the Gateway Control UI without exposing it publicly, create an SSH tunnel:
ssh -L 18789:localhost:18789 openclaw@$(terraform output -raw instance_ip)
Then open http://localhost:18789 in your browser.
Frequently Asked Questions (FAQ)
Frequently Asked Questions (FAQ)
It creates a Linode VM, a dedicated openclaw user, key-based SSH access, a Cloud Firewall, and an OpenClaw installation ready for onboarding.
OpenClaw’s onboarding wizard lets you configure supported model providers using API credentials or OAuth. Availability depends on your OpenClaw version.
Yes. The onboarding wizard supports integrations including Slack, Telegram, WhatsApp, and Discord.
No. The control interface runs locally on port 18789. Access it securely through the SSH tunnel included in this guide.
The quickstart uses a Nanode by default. OpenClaw is primarily an agent process, so GPU and dedicated CPU plans are not required for this deployment.
Enable Cloud Backups after deployment. You can also add Block Storage if you want to separate growing agent data from the VM lifecycle.
Run the following command from the project directory:
terraform destroy
Review the Terraform plan before confirming that the resources should be deleted.