Skip to main content
Background

Deploy an Always-on OpenClaw Agent on Akamai Cloud

Build a Decision Log MCP server with wasmcp and Spin, test it locally, and deploy it globally with Akamai Functions.

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.

  • Akamai Cloud account and API token
  • Terraform installed locally
  • SSH key pair
  • Model provider credentials
  • Current public IP address

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)

No. The VM runs the OpenClaw agent process, while model requests are sent to your chosen model provider through an API.

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.