Loading lesson…
OpenClaw can live on your laptop, on a Pi in your closet, or on a $5 VPS. The choice shapes uptime, latency, and how much you trust the host. Pick deliberately. It loads souls (long-lived agent personas), schedules heartbeats (periodic ticks where each soul wakes up and considers what to do), and exposes skills (capabilities it can call).
OpenClaw is a long-running runtime, not a script you invoke and forget. It loads souls (long-lived agent personas), schedules heartbeats (periodic ticks where each soul wakes up and considers what to do), and exposes skills (capabilities it can call). All three need a home that stays on. The realistic options are your laptop, a home server, and a small VPS — each with different trade-offs.
| Host | Best for | Trade-off |
|---|---|---|
| Laptop | Solo dev, dev loop, daily-only souls | Sleep / shut lid kills heartbeats |
| Home server (Mac mini, NUC, Pi) | 24/7 souls, local-only data, low latency to your network | You become the sysadmin; power and network outages are your problem |
| Small VPS ($5-20/mo, e.g. Hetzner, DO) | Public-facing souls, cron-shaped work, you're not always at the keyboard | Provider can read disk; latency to home network; egress costs |
| Both: home + VPS (federated) | Sensitive data stays home, public skills run remote | Now you have two boxes to operate (covered in lesson 4) |
OpenClaw ships a reference Dockerfile and a docker-compose.yml. Container-first deployment is the right default for any host that's not your dev laptop — it gives you reproducible installs, easy upgrades, and clean rollbacks when a release breaks something. The compose file declares the OpenClaw process, an Ollama sidecar (optional), and the volumes that hold the soul state.
# docker-compose.yml — minimal home-server deployment services: openclaw: image: ghcr.io/openclaw/openclaw:latest restart: unless-stopped ports: - "8081:8081" # mission-control web UI, bound to LAN only volumes: - ./data/souls:/var/openclaw/souls # soul state: long-term memory - ./data/audit:/var/openclaw/audit # audit log: every action, every tick - ./config:/etc/openclaw:ro # config: read-only mount environment: - OPENCLAW_BACKEND=ollama - OPENCLAW_OLLAMA_URL=http://ollama:11434 - OPENCLAW_LOG_LEVEL=info depends_on: - ollama ollama: image: ollama/ollama:latest restart: unless-stopped volumes: - ./data/ollama:/root/.ollama # downloaded models (big) # No ports exposed — only OpenClaw talks to it.A two-service compose file for a home box. `restart: unless-stopped` is what makes souls survive a power blip.OpenClaw splits state into four directories. Mount them outside the container so an `image pull` and restart never erases anything important. The split exists for a reason — different directories have different backup and rotation policies.
A soul is a long-running agent — and long-running things crash. OpenClaw's design assumes restarts are routine, not exceptional. Souls write checkpoint state after each heartbeat; on boot, the runtime replays from the last checkpoint and the next scheduled tick fires on time. Your job is to make sure the host actually restarts the OpenClaw process when it falls over.
OpenClaw can read whatever you let it read. If it lives on a VPS, the provider can technically read your soul memory and audit logs. For a hobby weather-summary soul that's fine. For a soul that has access to your email or your bank exports, it's not. Match the data sensitivity to the host trust level — a calendar-summary soul on a $5 VPS is reasonable; an inbox-triage soul there is reckless. Lesson 3 has the full security model.
The big idea: OpenClaw's home shapes everything that follows. Pick your host on data sensitivity and uptime needs, mount volumes outside the container, and prove restart-resilience before you trust a soul with anything that matters.
8 questions · take it digitally for instant feedback at tendril.neural-forge.io/learn/quiz/end-openclaw-ops-deploying-creators
What is the main idea of "Deploying OpenClaw: Local Box, Home Server, Or VPS"?
Which concept is most central to "Deploying OpenClaw: Local Box, Home Server, Or VPS"?
Which use of AI fits this topic best?
What should a careful learner remember about "Pick the slowest acceptable host"?
You want to use AI after this lesson. What is the safest next step?
How should AI output about deployment topology be treated?
Name one way to verify an AI answer about deployment topology.
Which action would help you apply "Deploying OpenClaw: Local Box, Home Server, Or VPS" responsibly?