Yes, a beginner can self-host OpenClaw with Docker on a home server in an afternoon, and for many people it is a sensible replacement for a ChatGPT Plus subscription at $20 a month. The catch is that OpenClaw is an assistant layer, not a model. You still bring the brain, either a paid API key from a provider such as Anthropic or OpenAI, or a local model running on your own hardware. If you accept that, you get an open source assistant that runs on your own machine, that you can reach from the chat apps you already use, and whose settings and history stay on hardware you control.
TL;DR: who should self-host OpenClaw, and how
- The casual chatter (Sam, who asks ChatGPT a dozen questions a week): self-host OpenClaw with a pay-as-you-go API key, because light usage often costs less than a flat monthly plan.
- The power user (Priya, who drafts code and documents in ChatGPT all day): keep the subscription for now, or set strict API spending limits first, because heavy daily use on a pay-per-token key can cost more than a flat fee.
- The privacy-first household (the Moreaus, who don't want chat logs on a vendor's servers): run OpenClaw at home with a local model, accepting slower and less capable answers so prompts never leave the house.
- The homelab tinkerer (Dev, who already runs Docker on a mini PC): deploy OpenClaw next to your existing stack, because it adds just one more Compose project to a setup you already maintain.
- The phone-first user (Lena, who mostly chats from Telegram on the go): self-host OpenClaw and connect a messaging channel, because the assistant then works inside an app you already open every day.
- The total beginner with no spare hardware (Tom, who has only a laptop): start on a small always-on device or a hosted server rather than a laptop that sleeps, because the assistant only responds while its host is awake.
The central tradeoff is simple: you swap a predictable flat fee and zero maintenance for usage-based costs, a few hours of setup and full control over where your assistant runs.
Table of contents
- What does OpenClaw actually replace when you cancel ChatGPT Plus?
- What hardware do you need to run OpenClaw at home?
- Home server, NAS, VPS or managed personal cloud: where should OpenClaw live?
- Preparing your machine: installing Docker and Docker Compose on Linux
- How do you deploy OpenClaw with Docker Compose step by step?
- Choosing a model provider: Anthropic, OpenAI or a local model
- How much does self-hosted OpenClaw cost per month compared with a $20 subscription?
- Securing the gateway token and the Control UI
- How do you reach OpenClaw from your phone when you are away from home?
- Connecting OpenClaw to Telegram, WhatsApp and Discord
- What do you lose, and gain, by leaving ChatGPT Plus for OpenClaw?
- How do you back up, update and restore an OpenClaw install without losing anything?
- Why does hosting location matter for your AI assistant's data?
What does OpenClaw actually replace when you cancel ChatGPT Plus?
OpenClaw replaces the parts of ChatGPT Plus around the model: the chat interface, the conversation history and the always-available assistant. It does not replace the model. ChatGPT Plus bundles three things for $20 a month: a hosted model, an app to talk to it and storage for your chats. OpenClaw takes over the app and the storage. You still have to supply the model.
That split is the most important idea in this guide. When you cancel the subscription, you are not cancelling access to a language model. You are moving from a flat fee to a setup where the model and the assistant come from different places.
| Component | With ChatGPT Plus | With self-hosted OpenClaw |
|---|---|---|
| The model | Included in the $20 monthly fee | Your own API key (Anthropic, OpenAI) or a local model |
| Interface | OpenAI's web and mobile apps | The OpenClaw Control UI in your browser, plus chat apps you connect |
| Where it runs | OpenAI's shared infrastructure | A Docker container on a machine you control |
| Conversation storage | OpenAI's servers | Your server's disk |
| Billing | Fixed monthly subscription | Pay per token, or free with a local model |
| Maintenance | None | Updates, backups and uptime are your job |
The middle rows are where most of the benefit comes from. OpenClaw runs as a gateway on your own hardware, and you sign in to its Control UI with a token you hold. You can also reach it through Telegram, WhatsApp or Discord, so it shows up where you already chat instead of in another browser tab.
The last row is where the cost is. Nobody patches OpenClaw for you, and the rest of this guide shows how much work that is.
What hardware do you need to run OpenClaw at home?
If you use a cloud API key, OpenClaw needs less hardware than most people expect. The model runs on the provider's servers. Your machine only runs the gateway, the Control UI and the message routing. Once you add a local model, the requirements jump sharply.
- Memory: plan for about 3 GB of RAM just for OpenClaw. One packaged Docker Compose deployment we tested caps its containers at 2,304 MB combined and recommends 3 GB. A machine with 8 GB has room for OpenClaw plus a few other containers.
- CPU and architecture: any recent x86_64 mini PC is enough for the gateway alone. On an ARM board, check that the image you pull is published for arm64 before you plan around it.
- Storage: the app, its configuration and its conversation history are small. A 64 GB SSD is plenty unless you also store local model files, which can take many gigabytes each.
- Uptime: the assistant only answers while its host is awake. A laptop that sleeps with the lid closed will drop every Telegram or WhatsApp message sent to it overnight. An always-on box with low power draw is the better choice.
- Local model hardware: running models through a tool such as Ollama changes everything. Larger models need far more RAM and ideally a dedicated GPU, and answers on CPU alone can be slow.
You also don't have to use hardware in your home. A home server, a NAS that runs Docker, a self-managed VPS and Yundera are all possible hosts. Yundera is a managed Personal Cloud Server, built on CasaOS, that runs self-hosted apps as Docker containers on a server dedicated to the user. Each option trades control, cost and maintenance differently, and the next section compares them.
Home server, NAS, VPS or managed personal cloud: where should OpenClaw live?
There are four realistic places to host OpenClaw. The right one depends on how much you want to maintain yourself and whether you already have an always-on machine at home. All four run the same Docker image, so the choice only changes what sits around the container, not the assistant itself.
| Option | What you handle yourself | Main tradeoff |
|---|---|---|
| Home server or mini PC | Operating system, Docker, updates, backups, remote access | Full control and no rent, but you need a way to reach it from outside your home network |
| NAS running containers (for example Synology Container Manager) | Container setup, NAS updates, remote access | Reuses hardware you may already own, but many entry-level NAS units ship with too little RAM for a 3 GB workload |
| Self-managed VPS | Linux hardening, Docker, firewall, TLS certificates, backups | Public IP and good uptime, but you pay monthly rent and the data sits on the provider's disks |
| Yundera | Choosing the app and maintaining what runs inside it | One-click install from an app store and a public HTTPS subdomain via NSL.SH mesh routing, with no static IP, port forwarding or manual TLS setup |
For a beginner, the biggest difference is remote access, not raw power. A home server is cheap to run, but your router blocks inbound traffic by default. You will need a tunnel, a VPN or port forwarding on 443 before your phone can reach it. A VPS has the opposite problem: it is reachable at once, so a weak gateway token is exposed to the whole internet from day one.
If you already have a NAS with 8 GB of RAM or more, start there. If you own nothing suitable, a small mini PC is the cheapest long-term option you fully control.
Preparing your machine: installing Docker and Docker Compose on Linux
Before OpenClaw goes anywhere, the host needs a working Docker Engine and the Compose plugin. On a fresh Linux install this takes about 15 minutes. Most of that time is waiting for downloads. Ubuntu Server 24.04 LTS and Debian 12 are both safe choices for a beginner, because Docker documents them directly and you will find answers for almost any error.
- Install Docker Engine from Docker's own repository: the quickest path is the official convenience script,
curl -fsSL https://get.docker.com -o get-docker.shfollowed bysudo sh get-docker.sh. Your distribution'sdocker.iopackage also works, but it often lags behind upstream releases. - Confirm Compose v2 is present: run
docker compose version. Note the space, not a hyphen. The old standalonedocker-composebinary is deprecated, and every command in this guide uses the plugin syntax. - Start Docker on boot: run
sudo systemctl enable --now dockerso the engine, and therefore your assistant, comes back by itself after a power cut or reboot. - Decide on the docker group carefully:
sudo usermod -aG docker $USERlets you skipsudo. Membership in that group is effectively root access, so only add accounts you trust completely. - Run a smoke test:
docker run hello-worldshould print a confirmation message. If it fails, fix that now. Every later step depends on it. - Create a project folder: make a dedicated directory such as
~/openclawto hold yourcompose.yamland the data volumes. Backups in a later section will target this one path.
A NAS with a container manager or a managed host usually ships with Docker preinstalled. On those platforms, skip straight to the final smoke test to confirm the engine responds.
How do you deploy OpenClaw with Docker Compose step by step?
The deployment itself is short. Most mistakes happen when someone copies a Compose file from a random blog post instead of the project's own documentation. Start from the official OpenClaw repository on GitHub and work inside the ~/openclaw folder you created earlier.
- Get the official Compose file: copy the Docker Compose example from the project's documentation into
compose.yaml. Don't hand-write image names or ports from memory. They change between releases, and the official file always matches the current image. - Put secrets in a
.envfile: provider keys such asANTHROPIC_API_KEYorOPENAI_API_KEYbelong in.envnext tocompose.yaml, not inline in the YAML. Runchmod 600 .envso only your user can read it, and never commit it to Git. - Check the volumes before first start: make sure configuration and history are mapped to a folder on the host. If they live only inside the container, a
docker compose downfollowed by an image update can wipe your setup. - Start it detached: run
docker compose up -d, thendocker compose ps. In our test installs, the container reached a healthy state in roughly 70 to 90 seconds, so don't panic if the first check shows "starting". - Read the logs once: run
docker compose logs -fand look for the gateway announcing that it is ready, plus the access token or onboarding instructions. PressCtrl+Cto stop following. The container keeps running. - Open the Control UI: browse to the address and port given in the logs, paste the gateway token, and connect. Seeing a ready-to-chat screen means the deployment works.
At this point OpenClaw runs, but it has no model behind it unless you already set a key. Choosing that model is the next decision, and it affects both your bill and your privacy more than anything else in this setup.
Choosing a model provider: Anthropic, OpenAI or a local model
OpenClaw handles the conversation. The provider supplies the intelligence. This one choice decides most of your monthly bill, most of the answer quality and where your prompts are processed. Make it on purpose instead of pasting whichever key you happen to have.
- Your ChatGPT Plus login is not an API key: the $20 subscription and the OpenAI API are billed separately. Cancelling Plus gives you no API credit, and buying API credit gives you no Plus features. Create a separate developer account on the provider's platform and add a payment method there.
- Anthropic API: a strong default for an agent-style assistant that writes, summarises and follows multi-step instructions. You pay per input and output token, and you can set spending limits in the Anthropic Console before you connect anything.
- OpenAI API: the closest match to the answers you got in ChatGPT, which helps if you have prompts and habits tuned to those models. Usage limits and budget alerts live in the OpenAI platform dashboard.
- A local model through Ollama or another OpenAI-compatible server: your prompts never leave your network and each answer costs nothing, but you pay in hardware and electricity, and quality drops a lot on smaller models. Check the current OpenClaw documentation for how it connects to local endpoints before you buy a GPU for it.
- One key per app, always: create a dedicated key named
openclaw-homeinstead of reusing one shared with scripts or other tools. If it leaks, you can revoke it in seconds without breaking anything else. - Start with a hard cap: set a low monthly limit for the first 30 days, then raise it once you know your real usage.
You can change provider later by editing .env and running docker compose up -d, so this decision is easy to reverse.
How much does self-hosted OpenClaw cost per month compared with a $20 subscription?
ChatGPT Plus costs $20 a month, or $240 a year. That is $720 over three years, whether you send five messages or five thousand. Self-hosted OpenClaw has no fixed fee, but four separate costs replace it. Whether you save money depends almost entirely on how much you chat.
| Cost line | ChatGPT Plus | Self-hosted OpenClaw |
|---|---|---|
| Software | Included in $20 a month | Free, open source |
| Model usage | Included, within plan limits | Pay per token on your API key, or zero with a local model |
| Hardware | None | A device you already own, or a one-off purchase |
| Electricity | None | Continuous draw, 24 hours a day |
| Hosting or rent | None | Zero at home, monthly rent on a VPS or managed host |
| Your time | None | Setup plus a little upkeep every month |
Model usage is the line that swings. Token-based billing rewards light users and punishes heavy ones. A few short questions a day can cost a small fraction of $20. Pasting long documents into every prompt, or letting an agent run multi-step tasks, multiplies the token count fast. Check the provider's current per-token price instead of trusting any figure in a blog post, because prices change often.
You can calculate electricity yourself. Multiply the device's average watts by 720 hours, divide by 1,000 and multiply by your price per kWh. A device averaging 10 W uses 7.2 kWh a month. A desktop with a GPU kept on for a local model draws far more.
The honest test is simple. Run OpenClaw for one month with a spending cap, read the usage page in your provider dashboard, and compare the total with $20. That number answers the question better than any estimate.
Securing the gateway token and the Control UI
The gateway token is the only thing standing between the internet and an assistant that spends your API credit and can read your conversation history. If someone else gets it, they get your assistant. Treat it the way you treat the password for your email.
- Generate a long random token: if your setup lets you choose one, create it with
openssl rand -hex 32, which gives 64 hex characters. Never use a word, a name or anything you have used elsewhere. - Keep the token out of shared places: store it in
.envwithchmod 600, as you did for the API keys, and in a password manager. Never paste it into a chat, a screenshot or a support forum post. - Expect a 401 without it: when you open the Control UI in a fresh browser, an unauthorised response before you enter the token is normal. It shows the gate is working, not that something is broken.
- Know where the browser keeps it: in our testing, the Control UI kept the token in the tab's session storage, so that tab reconnected by itself after a restart. On a shared or work computer, close the tab when you are done.
- Don't publish the raw port: in
compose.yaml, bind the port as127.0.0.1:PORT:PORTinstead of justPORT:PORT, so only the host and a reverse proxy can reach it. Expose the Control UI to the outside world only over HTTPS. - Limit what the agent can touch: OpenClaw can act as well as answer. Review which tools and integrations are enabled, and turn off anything you don't need.
- Rotate after any doubt: if the token may have leaked, change it, restart with
docker compose up -d, and reconnect your own browser.
Your provider spending cap is your last line of defence. Even a leaked token can then only burn up to that limit.
How do you reach OpenClaw from your phone when you are away from home?
Inside your home network, the Control UI opens at a local address. Once you leave the house, that address stops working. ChatGPT never had this problem because OpenAI ran the servers. Now it is your problem, and there are five common ways to solve it.
- Use a messaging channel instead of the browser: if you connect a chat app such as Telegram, the gateway usually makes outbound connections to that service. Many phone-first users never open a port at all. They just message the assistant like a contact. The setup is in the next section.
- A private VPN such as Tailscale or WireGuard: your phone joins the same private network as the server, and the Control UI stays invisible to the public internet. This is the safest default for a beginner. The cost is a VPN app that has to be connected before you can chat.
- Cloudflare Tunnel: a small connector container makes an outbound tunnel, and Cloudflare serves your hostname over HTTPS. You open no router ports, but your traffic passes through Cloudflare's network.
- Port forwarding to a reverse proxy: forward port 443 to Caddy or Nginx with a Let's Encrypt certificate. This works only if your ISP gives you a public IPv4 address. Many connections sit behind CGNAT, which silently blocks this method.
- A host with built-in public access: a VPS has a public IP from day one. On Yundera, each app gets an HTTPS subdomain through NSL.SH mesh routing, with no port forwarding. Either way, a strong gateway token matters even more, because the login page is reachable by anyone.
Pick one method and use it for two weeks before adding a second. Every extra path into the server is another thing you have to keep patched and monitored.
Connecting OpenClaw to Telegram, WhatsApp and Discord
Connecting a messaging channel is where OpenClaw stops feeling like a ChatGPT clone and becomes useful. Your assistant shows up as a contact in an app you already open fifty times a day. Each platform connects differently, and each comes with its own risks.
- Telegram, the easiest start: open a chat with @botfather, send
/newbot, choose a name and copy the bot token it returns. Put that token in your configuration, restart withdocker compose up -d, and message the bot. Bot tokens use an official API, so there is no risk to your personal account. - WhatsApp, the most convenient and the most fragile: the link works by scanning a QR code from WhatsApp's Linked Devices screen, so the gateway acts as a linked device on your account. WhatsApp allows up to 4 linked devices. Because this is not the official Business API, use a secondary number if losing the account would hurt.
- Discord, best for shared servers: create an application in the Discord Developer Portal, add a bot, and switch on the Message Content Intent, or the bot will receive empty messages. Invite it with the
botscope only to a server you control. - Restrict who can talk to it: a public bot handle is easy to find. Use the access controls in the OpenClaw documentation, such as an allowlist of your own user IDs or approving new senders, so strangers can't spend your API credit.
- Store every channel credential like an API key: bot tokens go in
.envwith the samechmod 600rule. Anyone holding a Discord or Telegram bot token can impersonate your bot. - Add one channel at a time: get Telegram stable for a week before linking WhatsApp. When something breaks, you'll know which change caused it.
What do you lose, and gain, by leaving ChatGPT Plus for OpenClaw?
Cancelling is easy to undo, but some losses only show up a week later, mid-task. Go through this list before you click cancel, and export your ChatGPT history first from Settings, Data controls, Export data. The export arrives as a zip file by email, and it is the only copy of years of conversations.
- Lose: polished first-party apps: OpenAI's iOS, Android and desktop apps are built by a full product team. Your experience now depends on the Control UI and whichever chat app you connected.
- Lose: bundled extras: features that come with the Plus plan, such as built-in image generation, voice conversations and custom GPTs, don't come with a raw API key. Some can be rebuilt through providers or integrations. Expect to rebuild them, not to find them already there.
- Lose: zero-maintenance reliability: when your server reboots for a kernel update at 3 a.m., your assistant is down until Docker brings it back. Nobody else is on call.
- Gain: model choice: you can switch between Anthropic, OpenAI or a local model by editing one line in
.env. You are not tied to one vendor's roadmap or pricing changes. - Gain: the assistant lives where you chat: a Telegram or Discord contact that answers like a person is often more useful day to day than a separate browser tab.
- Gain: control over history: your conversation log sits in a folder on your disk. You decide how long it lives and who can read it.
- Gain: no plan-level message caps: subscription tiers ration heavy use. With an API key, the only limit is the spending cap you set yourself.
If two or more of the losses describe your daily routine, keep Plus for one more month while OpenClaw runs alongside it.
How do you back up, update and restore an OpenClaw install without losing anything?
Everything that makes your assistant yours lives in two places: the ~/openclaw folder and your provider account. The provider keeps your billing and API keys. The folder holds your configuration, channel links, tokens and conversation history. Protect the folder and a dead disk becomes a 20-minute problem instead of a fresh start.
- Stop before you copy: run
docker compose stopfirst, so no file is half-written during the backup. Then archive it withtar czf openclaw-$(date +%F).tar.gz ~/openclawand start it again withdocker compose start. The downtime is usually under a minute. - Encrypt anything that leaves the machine: the archive contains
.env, which means your API keys and bot tokens. Use a tool such as restic or age before sending it to a USB drive or cloud bucket. A plain tarball in cloud storage is a leaked credential waiting to happen. - Follow 3-2-1: three copies, on two different kinds of media, with one off-site. A single backup on the same disk as the server protects you from mistakes, not from hardware failure.
- Pin the image tag: replace
latestincompose.yamlwith a specific release tag. You then update on purpose: change the tag, rundocker compose pullanddocker compose up -d, and read the release notes first. - Back up right before every update: if a new release breaks something, roll back by restoring the archive and the old tag, which takes minutes.
- Test one restore: an untested backup is a guess. In our own test, a restored OpenClaw instance came back healthy in about 25 seconds, with its history and gateway token intact. Restore once onto a spare folder or machine, so you know yours works too.
Put the backup command in a weekly cron job. Backups you have to remember to run eventually stop happening.
Why does hosting location matter for your AI assistant's data?
An AI assistant collects the most personal text you will ever type: health questions, half-written emails, work problems, family logistics. Where that history sits decides who can read it, which laws apply to it and what happens to it if a company changes its policy. Self-hosting OpenClaw moves the history to your disk. Be clear about the limit, though. If you use a cloud API, each prompt is still processed on the provider's servers. Only a local model keeps the whole loop inside your walls.
Advantages of hosting the assistant yourself:
- One copy of your history, on your disk: conversations stay in your
~/openclawfolder, not in a profile on a shared multi-tenant service. - You set retention: delete a month of chats with one command. You don't have to wait on a vendor's deletion request queue.
- Legal jurisdiction you choose: a server in your home or your own country keeps stored data under laws you understand, such as GDPR for EU residents.
- No silent policy changes: a change to a vendor's terms can't reach data the vendor never held.
Checklist before you call your setup private:
- Read your API provider's data-use terms: check whether API inputs are retained or used for training, and for how long.
- Encrypt the host disk: LUKS on Linux protects the history if the machine is stolen.
- Encrypt backups that leave the house: an off-site copy is still your data.
- Lock down channel access: a messaging bot that answers strangers leaks context to them.
- Consider a local model for sensitive topics: send medical or legal questions to Ollama and everyday tasks to the cloud key.
Hosting location doesn't make you private by itself. It gives you the controls, and you still have to use them.

![Mobile Manipulator Architecture — Ch.03: End Effector Interface [KR]](https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8bgy8xuxjijwmlbkcad5.png)
![Mobile Manipulator Architecture — Ch.04: Gripper Architecture [KR]](https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0wjfle73fjb2648pkj78.png)