Browse guides
Back to Guides
BeginnerGetting StartedOpenClaw

OpenClaw on Oracle Cloud Free Tier

Run OpenClaw for free forever on Oracle Cloud's always-free ARM Ampere A1 instance. Full walkthrough from account creation to a running agent.

Sam Okafor40 minutes

#Free Forever — No, Really

Oracle Cloud offers an always-free tier that includes an ARM-based Ampere A1 instance with up to 4 OCPUs and 24 GB RAM — more than enough for OpenClaw. Unlike AWS/GCP free tiers that expire after 12 months, Oracle's free tier is genuinely permanent.

The free tier gives you up to 4 ARM cores and 24 GB RAM total, which you can split across up to 4 instances. For OpenClaw, a single instance with 1 OCPU and 6 GB RAM is more than sufficient.

#What You Get (Free Forever)

ResourceAmount
Compute4 ARM Ampere A1 cores
RAM24 GB total
Storage200 GB block volume
Network10 TB/month outbound
Public IP1 reserved IP

#Step 1: Create an Oracle Cloud Account

  1. Go to cloud.oracle.com and click Sign Up
  2. Enter your details — you'll need a credit card for verification, but you won't be charged
  3. Select your Home Region (choose the closest to you — this can't be changed later!)
  4. Wait for account activation (usually 5-15 minutes, sometimes up to 24 hours)

Choose your home region carefully! Free tier instances are only available in your home region, and you can't change it after signup. Pick the region closest to you.


#Step 2: Create a Free ARM Instance

  1. Log into the Oracle Cloud Console
  2. Go to Compute → Instances → Create Instance
  3. Configure:
    • Name: openclaw-agent
    • Placement: Your home region
    • Image: Ubuntu 24.04 (Canonical)
    • Shape: Click Change Shape → Ampere → VM.Standard.A1.Flex
    • OCPUs: 1 (you can use up to 4)
    • Memory: 6 GB (you can use up to 24 GB)
    • Boot volume: 50 GB (default, included in free tier)
  4. Networking: Accept defaults (creates VCN + public subnet)
  5. SSH Key: Upload your public key or paste it
  6. Click Create

#If "Out of Capacity" Error

This is common — Oracle's free tier is very popular. Solutions:

bash
# Option 1: Try a different availability domain (AD)
# Some regions have multiple ADs — try each one
# Option 2: Try at off-peak hours (early morning UTC)
# Option 3: Use a smaller shape (1 OCPU, 6 GB) — more likely available
# Option 4: Be patient and retry over a few days

Pro tip: Some users report success creating instances at 2-4 AM UTC when demand is lowest. You can also try the OCI CLI to script automatic retries.


#Step 3: Configure Network Access

By default, Oracle Cloud blocks most incoming traffic. You need to open SSH access.

#Add Ingress Rules

  1. Go to Networking → Virtual Cloud Networks → your VCN
  2. Click on the Public Subnet
  3. Click the Default Security List
  4. Add Ingress Rule:
    • Source CIDR: 0.0.0.0/0
    • Protocol: TCP
    • Destination Port: 22
  5. Click Add Ingress Rules

#Configure iptables on the Instance

Oracle's Ubuntu images have iptables rules that also block traffic:

bash
# SSH into your instance
ssh ubuntu@YOUR_INSTANCE_IP
# Remove the default iptables rules that block traffic
sudo iptables -F
sudo netfilter-persistent save

#Step 4: Initial Server Setup

bash
# Update system
sudo apt update && sudo apt upgrade -y
# Set timezone
sudo timedatectl set-timezone America/New_York # Change to your timezone
# Install essentials
sudo apt install -y curl git build-essential
# Create openclaw user
sudo adduser openclaw
sudo usermod -aG sudo openclaw
# Copy SSH key
sudo mkdir -p /home/openclaw/.ssh
sudo cp ~/.ssh/authorized_keys /home/openclaw/.ssh/
sudo chown -R openclaw:openclaw /home/openclaw/.ssh

Now switch to the openclaw user:

bash
ssh openclaw@YOUR_INSTANCE_IP

#Step 5: Install Node.js (ARM64)

bash
# Install Node.js 22 — works great on ARM
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt-get install -y nodejs
# Verify
node --version # v22.x.x
npm --version # 10.x.x

ARM64 (aarch64) is fully supported by Node.js and OpenClaw. Performance is excellent — often better than equivalent x86 instances.


#Step 6: Install and Configure OpenClaw

bash
# Install OpenClaw
npm install -g openclaw
# Run setup wizard
openclaw setup
# Follow the prompts to configure:
# - API keys (Anthropic, OpenAI, etc.)
# - Messaging channel (Telegram recommended for beginners)
# - Workspace directory
# - SOUL.md personality

#Step 7: Set Up systemd Service

bash
sudo nano /etc/systemd/system/openclaw.service
ini
[Unit]
Description=OpenClaw AI Agent
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=openclaw
WorkingDirectory=/home/openclaw/.openclaw/workspace
ExecStart=/usr/bin/openclaw gateway start --foreground
Restart=always
RestartSec=10
StandardOutput=journal
StandardError=journal
Environment=NODE_ENV=production
[Install]
WantedBy=multi-user.target
bash
sudo systemctl daemon-reload
sudo systemctl enable openclaw
sudo systemctl start openclaw
sudo systemctl status openclaw

#Step 8: Keep Your Free Instance Alive

Oracle may reclaim idle free tier instances! Instances with very low CPU usage over several days can be flagged as idle and stopped. Running OpenClaw with regular heartbeats should prevent this, but here's a safety net.

#Prevent Idle Reclamation

OpenClaw's heartbeat system naturally creates regular CPU activity, which should keep Oracle happy. But as extra insurance:

bash
# Add a lightweight cron job that generates minimal CPU activity
crontab -e

Add:

*/10 * * * * /usr/bin/uptime >> /dev/null 2>&1

#Performance Notes

ARM Ampere A1 instances perform well for OpenClaw:

  • CPU: Single-threaded performance is good for Node.js workloads
  • Memory: 6 GB is more than enough (OpenClaw typically uses 200-500 MB)
  • Network: Low latency to major API providers from most Oracle regions
  • Disk: Block storage I/O is decent for logging and workspace operations

#Troubleshooting

#"Out of Capacity" When Creating Instance

  • Try different availability domain
  • Try smaller shape (1 OCPU / 6 GB)
  • Retry at off-peak hours (2-4 AM UTC)
  • Some users create a script to retry automatically via OCI CLI

#Can't SSH Into Instance

  • Check security list ingress rules (port 22 open?)
  • Check iptables on the instance: sudo iptables -L
  • Verify your SSH key matches

#Instance Stopped by Oracle

  • Check your email for "idle instance" notifications
  • Restart via console: Compute → Instances → Start
  • Ensure heartbeat is running to prevent reclamation

#Next Steps

Skip the trial and error

ClawDocx members get 500+ tested prompts, ready-to-install SKILL.md files, SOUL.md and CLAUDE.md templates, and an MCP server so your agent can pull all of it directly while it works.