Back to Blog

How to run OpenClaw without a Mac mini: cloud and VPS options

OpenClaw never needed a Mac mini. What the gateway actually requires, the documented Linux and Docker installs, and four hosting routes priced today.

Sam Okafor13 min read

#Does OpenClaw actually need a Mac mini?

No. OpenClaw's install page lists macOS, Linux and Windows as supported operating systems, and the same one-line installer covers macOS, Linux and WSL2. The Mac mini is popular for always-on agents because it is quiet, cheap to idle and sitting on a shelf you own, not because OpenClaw needs Apple silicon.

If you want the Mac mini case made properly, we have written it up separately in Running OpenClaw on a Mac mini. This post is the other half of that decision: what to do when you do not want a box in your house at all.

OpenClaw publishes a provider picker for exactly this. Its VPS page covers Azure, Daytona, DigitalOcean, exe.dev, Fly.io, GCP, Hetzner, Hostinger, Northflank, Oracle Cloud, Railway, Render, Raspberry Pi and Upstash Box, and the install page frames the same choice as "Deploy OpenClaw on a cloud server or VPS."

#What does OpenClaw need to run?

Four things, and none of them are exotic.

A supported OS. macOS, Linux or Windows. On Linux, note one packaging detail before you pick a distro: OpenClaw's Linux page says published AMD64 AppImages "are built on Ubuntu 22.04 and require glibc 2.35 or newer plus a libstdc++ that provides GLIBCXX_3.4.30." Ubuntu 22.04 and Debian 12 clear that bar; RHEL 9 and Rocky Linux 9 ship glibc 2.34 and cannot run the published AppImages. That constraint is about the desktop app rather than the CLI and gateway you will run on a server, but it is the kind of thing worth knowing before you standardise on a distro.

A Node runtime. OpenClaw requires Node.js 24.16+ or 26.1+. The docs say "Node 26 is recommended; the installer provisions Node 26 on macOS and Node 24 LTS on Linux when Node is missing." pnpm is only needed if you build from source.

The gateway process. This is the thing that has to stay up. The docs describe it as "One always-on process for routing, control plane, and channel connections" that hosts multiple agents through a single multiplexed port. It is a long-lived daemon, which is the entire reason people reach for dedicated hardware or a VPS instead of their laptop.

A port, bound carefully. The gateway's default port is 18789. Its default bind mode is loopback, and the docs add that "Inside a detected container environment the effective default is auto." Loopback by default is the right instinct: the gateway is not something you expose to the internet.

Do not open 18789 to the world to save yourself an SSH tunnel. OpenClaw's own DigitalOcean page keeps the gateway on loopback and reaches it over an SSH tunnel or Tailscale Serve instead. The prompt-injection page is blunt about why the blast radius matters: an attacker "crafts a message that manipulates the model into unsafe action ('ignore your instructions', 'dump your filesystem', 'follow this link and run commands')."

#How much RAM does an OpenClaw server need?

The lowest numbers OpenClaw publishes anywhere are on its Raspberry Pi page: "Minimum: 1 GB RAM, 1 core, 500 MB free disk, 64-bit OS", with "Recommended: 2 GB+ RAM, 16 GB+ SD card (or USB SSD), Ethernet." The per-provider pages agree with that shape. DigitalOcean's page recommends "Basic, Regular, 1 vCPU / 1 GB RAM / 25 GB SSD" plus a 2 GB swapfile; the Fly.io page is firmer, saying "512MB is too small; 2GB recommended."

So: 1 GB works, 2 GB is the comfortable floor. One figure that is easy to misread, the Docker page's "At least 6 GB RAM for a local source image build", is a build requirement rather than a runtime one. Pull the published image and it does not apply.

All of this assumes the agent calls a hosted model. Running models locally is a different sizing problem entirely, and a 1 GB VPS is not where you solve it.

Want step-by-step guides for this and more?

ClawDocx Pro includes 500+ curated prompts, setup guides, SKILL.md files, and templates — everything to make your AI agent unstoppable.

See plans & pricing

#The documented Linux install

The shell installer is the same line you would run on a Mac:

$curl -fsSL https://openclaw.ai/install.sh | bash

On a server you usually want to skip the interactive wizard on the first pass and install the daemon explicitly. That is the flow OpenClaw documents on both its Raspberry Pi and DigitalOcean pages:

bash
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --no-onboard
openclaw onboard --install-daemon

The Linux page documents an npm route as well, for when you want to control the Node version yourself:

bash
npm i -g openclaw@latest --allow-scripts=openclaw
openclaw onboard --install-daemon

Then confirm the install with the three commands the docs name:

bash
openclaw --version
openclaw doctor
openclaw gateway status

The full walkthrough, including systemd and firewall configuration, lives in OpenClaw on Linux (Ubuntu/Debian). For the provider-agnostic version, see OpenClaw on a VPS.

#The documented Docker install

If you would rather ship a container than manage a Node install, OpenClaw publishes images on two registries: ghcr.io/openclaw/openclaw:latest on the GitHub Container Registry and openclaw/openclaw:latest as a Docker Hub mirror. There is a ghcr.io/openclaw/openclaw:latest-browser variant that bundles Chromium.

The documented path is a script rather than a compose incantation, and it runs from the repo root, so start with a checkout:

bash
git clone https://github.com/openclaw/openclaw.git
cd openclaw
./scripts/docker/setup.sh

The docs describe what that script does: it builds the gateway image locally as openclaw:local, or uses a pre-built image when OPENCLAW_IMAGE is exported; runs onboarding and prompts for provider API keys; generates a gateway token and writes it to .env; creates the legacy auth-profile secret key directory; and starts the gateway via Docker Compose.

Once it is up, open http://127.0.0.1:18789/ and paste the token from .env into the Control UI settings. If you lose the dashboard URL, the docs give you a one-liner under "Need the URL again?":

bash
docker compose run --rm openclaw-cli dashboard --no-open

There is a manual flow too, for when you want to see each stage. It is four commands, in this order: build the image, run onboarding, write the gateway config, then bring it up.

bash
BUILD_GIT_COMMIT="$(git rev-parse HEAD)"
BUILD_TIMESTAMP="$(date -u +%Y-%m-%dT%H:%M:%SZ)"
docker build \
--build-arg "GIT_COMMIT=${BUILD_GIT_COMMIT}" \
--build-arg "OPENCLAW_BUILD_TIMESTAMP=${BUILD_TIMESTAMP}" \
-t openclaw:local -f Dockerfile .
docker compose run --rm --no-deps --entrypoint node openclaw-gateway \
dist/index.js onboard --mode local --no-install-daemon
docker compose run --rm --no-deps --entrypoint node openclaw-gateway \
dist/index.js config set --batch-json '[{"path":"gateway.mode","value":"local"},{"path":"gateway.bind","value":"lan"},{"path":"gateway.controlUi.allowedOrigins","value":["http://localhost:18789","http://127.0.0.1:18789"]}]'
docker compose up -d openclaw-gateway

Gateway state is mounted at /home/node/.openclaw, and the browser variant adds a Playwright cache at /home/node/.cache/ms-playwright. Configuration comes in through environment variables including OPENCLAW_IMAGE, OPENCLAW_GATEWAY_TOKEN, OPENCLAW_EXTENSIONS and OPENCLAW_INSTALL_BROWSER. Two health endpoints, which the docs note need no authentication, tell you whether it came up:

bash
curl -fsS http://127.0.0.1:18789/healthz
curl -fsS http://127.0.0.1:18789/readyz

Our own container walkthrough is OpenClaw + Docker.

#Which hosting route should you pick?

Four routes, priced from each vendor's own page as of September 19, 2026. Every one of them runs the gateway on Linux, so the install above is the same in all four.

RouteWhat you getPrice as of September 19, 2026
Oracle Cloud Always Free2 OCPUs and 12 GB on an Arm A1 shape, 200 GB block storage, 10 TB/month egress$0, subject to capacity
DigitalOcean basic droplet1 vCPU, 1 GiB, 25 GiB SSD, 1,000 GiB transfer$6.00/month
Fly.io Machineshared-cpu-2x with 2 GB, plus a 1 GB volume$11.83/month plus $0.15/GB storage
A Linux box you already ownWhatever it has, above the 1 GB / 1 core / 500 MB floorElectricity only

#Oracle Cloud Always Free

This is the cheapest route that exists, because it costs nothing. Oracle's own Always Free documentation states that "All tenancies get the first 1,500 OCPU hours and 9,000 GB hours per month for free for VM instances using the VM.Standard.A1.Flex shape, which has an Arm processor. For Always Free tenancies, this is equivalent to 2 OCPUs and 12 GB of memory." You also get "a total of 200 GB of Block Volume storage, and five volume backups", plus "10 TB per month of outbound data."

Twelve gigabytes of RAM for nothing is six times OpenClaw's comfortable floor.

OpenClaw's own Oracle page matches those numbers: shape VM.Standard.A1.Flex, "2 (or up to 4)" OCPUs, "12 GB (or up to 24 GB)" of memory, a "50 GB (up to 200 GB free)" boot volume, and Ubuntu 24.04 (aarch64) as the image.

The catch is capacity, not billing. OpenClaw's Oracle page warns that "Free tier capacity is limited" and that an "Out of capacity" error on instance creation means you should try "a different availability domain or retry later." Plan for several attempts rather than one.

Because the shape is Arm, check your architecture before installing CLI helpers. The docs tell you to run uname -m, which "should print aarch64", and to check for an "aarch64 / linux-arm64 release before installing" anything without pre-built Arm support. What the Oracle page does say about OpenClaw itself is reassuring: "Most OpenClaw features work fine" on Arm, with some optional native binaries needing to be sourced separately. The documented image for the instance is Ubuntu 24.04 (aarch64), and the documented install is the ordinary Linux path.

Use the shell installer or the npm route on an A1 instance rather than assuming the published container images will run. OpenClaw's Docker page does not document an architecture for ghcr.io/openclaw/openclaw:latest; the only place it mentions linux/arm64 is a docker buildx build --platform example for building multi-architecture images yourself. So if you want containers on Arm, plan on building the image with ./scripts/docker/setup.sh, which builds locally anyway, rather than pulling a published tag and hoping.

Our step-by-step version is OpenClaw on Oracle Cloud Free Tier.

#DigitalOcean

The most boring option, which is a compliment for something that has to stay up. DigitalOcean's pricing page lists a basic droplet with "1 GiB" memory, "1 vCPU", "25 GiB" SSD and "1,000 GiB" transfer at $6.00/month. That is exactly the size OpenClaw's DigitalOcean page recommends, and the docs put the cost at "~$6/month for the 1 GB Basic plan."

If you want more headroom, the same page lists "2 GiB" / "1 vCPU" / "50 GiB" / "2,000 GiB" at $12.00/month. There is a "512 MiB" / "1 vCPU" / "10 GiB" tier at $4.00/month, but 512 MB is below what any OpenClaw page recommends, so the $6 tier is the real entry point.

The documented setup is six steps, in this order: create a droplet on Ubuntu 24.04 LTS with SSH key auth; connect and install, which covers Node 24 LTS, OpenClaw and a non-root openclaw user; run onboarding; add swap, recommended for 1 GB droplets; verify the gateway; and access the Control UI over an SSH tunnel or Tailscale Serve. The docs are specific about avoiding third-party marketplace images.

#Fly.io

Fly is the route to pick if you would rather define the deployment in a file than administer a server. The core of the documented flow starts from a checkout, and fly deploy comes after you have edited fly.toml and set your secrets:

bash
git clone https://github.com/openclaw/openclaw.git
cd openclaw
fly apps create my-openclaw
fly volumes create openclaw_data --size 1 --region iad
# edit fly.toml to match your app name and requirements
fly secrets set OPENCLAW_GATEWAY_TOKEN=$(openssl rand -hex 32)
fly secrets set ANTHROPIC_API_KEY=...
fly deploy

After the deploy, the docs have you fly ssh console in, create /data/openclaw.json, and restart the machine before the gateway is actually configured.

The docs specify a shared-cpu-2x Machine with 2048mb of memory, and say a 1 GB volume is "usually enough". Fly's pricing page puts shared-cpu-2x with 2 GB at $11.83 per month and 4 GB at $22.22 in the Amsterdam region, with volumes at "$0.15/GB per month of provisioned capacity" and North American and European egress at "$0.02 per GB". Prices vary by region, and Fly notes that a Machine costs "the price of a named CPU/RAM preset, plus about $5 per 30 days per GB of additional RAM." OpenClaw's own estimate for the recommended configuration is "roughly $10-15/month", which lines up.

Four fly.toml settings carry the deployment. OPENCLAW_STATE_DIR = /data puts state on the volume; --bind lan lets the Fly proxy reach the gateway; --allow-unconfigured lets it start before a config file exists; and auto_stop_machines = false keeps it awake, which matters a great deal for a process whose whole job is being always-on. The docs also set internal_port = 3000 and note it must match the gateway port for health checks, so keep those two in step.

--bind lan is a real change from the loopback default, and it is the one place in this post where the gateway stops listening only to itself. Set OPENCLAW_GATEWAY_TOKEN and let Fly terminate TLS with force_https = true rather than treating the proxy as the whole of your access control.

#A Linux box you already own

The honest fourth option: the machine in the cupboard. An old laptop, a NUC, a Raspberry Pi. OpenClaw's Raspberry Pi page grades the hardware for you. A Pi 5 with 4 or 8 GB is "Best", a Pi 4 with 4 GB is the "sweet spot", a Pi 4 with 2 GB is "OK" with swap, and the Pi Zero 2 W is "Not recommended."

Two rules from that page apply to any small Linux box. Use a 64-bit OS, because the docs say plainly "do not use 32-bit". And put the state on real storage: the docs recommend "Use a USB SSD" to avoid SD card slowness and wear. Add swap on anything with 2 GB or less.

We could not read current per-variant board prices from Raspberry Pi's own product page at the time of this post, so no hardware price is quoted here. Check the vendor page for the configuration you want. The running cost of a board you already own is electricity, and that is the point of this option.

Our Pi-specific guide is OpenClaw on a Raspberry Pi.

#How do you reach the gateway once it is remote?

The same way on all four routes, because the gateway defaults to loopback everywhere except inside a container.

The documented pattern on OpenClaw's DigitalOcean page is an SSH tunnel as the simplest method, or Tailscale Serve when you want several devices reaching it over a trusted network. Neither one requires opening 18789 in a cloud firewall, which is the whole appeal.

Once you are in, the operator commands are the same set you would use on a Mac mini:

bash
openclaw gateway status
openclaw gateway status --deep
openclaw gateway restart
openclaw logs --follow

The latest release listed in the OpenClaw docs as of September 19, 2026 is v2026.9.5.

Frequently asked questions

Can you run OpenClaw without a Mac mini?
Yes. The OpenClaw install page lists macOS, Linux and Windows as supported operating systems, and the same one-line installer covers macOS, Linux and WSL2. A Mac mini is one convenient always-on box, not a requirement. The docs also publish a VPS provider picker covering DigitalOcean, Hetzner, Hostinger, Fly.io, GCP, Azure, Railway, Northflank, Oracle Cloud and Raspberry Pi among others.
What are the minimum specs for an OpenClaw server?
The lowest figures OpenClaw publishes are on its Raspberry Pi page: 1 GB RAM, 1 core, 500 MB free disk and a 64-bit OS, with 2 GB or more of RAM recommended. The DigitalOcean page recommends a 1 vCPU / 1 GB / 25 GB droplet plus a 2 GB swapfile, and the Fly.io page says 512MB is too small; 2GB recommended. Treat 2 GB as the comfortable floor. The 6 GB RAM figure in the Docker docs applies to building the image locally, not to running it.
What is the cheapest way to host OpenClaw?
Oracle Cloud's Always Free tier, if you can get capacity. Oracle documents that Always Free tenancies get the equivalent of 2 OCPUs and 12 GB of memory on the Arm VM.Standard.A1.Flex shape, 200 GB of block volume storage and 10 TB per month of outbound data, at no cost. OpenClaw's own Oracle page warns that free tier capacity is limited. The cheapest paid route we could price is a DigitalOcean 1 GiB basic droplet at $6.00 per month as of September 19, 2026.
Should I use Docker or a plain Linux install to host OpenClaw?
Use the plain installer on a VPS you control and Docker when you want the gateway isolated or reproducible. OpenClaw publishes both: the shell installer plus openclaw onboard --install-daemon for Linux, and a Docker path that runs ./scripts/docker/setup.sh from a repo checkout, which builds the image locally and starts the gateway through Docker Compose. On an Arm host such as Oracle's Ampere A1, prefer the shell or npm install path: the docs do not state an architecture for the published images, and the only linux/arm64 reference is a build-your-own multi-architecture example.

Sources

  1. OpenClaw: Install
  2. OpenClaw: Gateway
  3. OpenClaw: Linux platform notes
  4. OpenClaw: Docker install
  5. OpenClaw: VPS and cloud provider picker
  6. OpenClaw: Oracle Cloud install
  7. OpenClaw: DigitalOcean install
  8. OpenClaw: Fly.io install
  9. OpenClaw: Raspberry Pi install
  10. OpenClaw: Prompt injection
  11. OpenClaw: Releases
  12. Oracle Cloud Infrastructure: Always Free Resources
  13. DigitalOcean: Droplet pricing
  14. Fly.io: Pricing

Get the full experience with ClawDocx Pro

Access 500+ prompts, step-by-step guides, SKILL.md files, and more. Everything you need to master OpenClaw.

Start Free Trial

Related Posts