# OpenClaw on Oracle Cloud Free Tier

Canonical: https://clawdocx.com/docs/getting-started-oracle-cloud
Author: Sam Okafor
Difficulty: BEGINNER
Published: 2026-02-24
Updated: 2026-02-25

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

## 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.

> **Note**
>
> 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)

| Resource | Amount |
|----------|--------|
| **Compute** | 4 ARM Ampere A1 cores |
| **RAM** | 24 GB total |
| **Storage** | 200 GB block volume |
| **Network** | 10 TB/month outbound |
| **Public IP** | 1 reserved IP |

---

## Step 1: Create an Oracle Cloud Account

1. Go to [cloud.oracle.com](https://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)

> **Warning**
>
> 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
```

> **Note**
>
> 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
```

> **Note**
>
> 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

> **Warning**
>
> 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

- [Your First 24 Hours with OpenClaw](/docs/first-24-hours) — Configure SOUL.md, connect messaging, install skills
- [Security Hardening Guide](/docs/security-hardening) — Lock down your free instance
- [Keeping OpenClaw Running 24/7](/docs/process-management) — Monitoring and auto-restart