mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-17 16:12:21 -06:00
c81aee5a96
* docs: add ChromeOS (Crostini) platform install guide Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * docs: correct ChromeOS Linux container setup path * docs: add zh-CN glossary entries for ChromeOS page terms --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: Patrick Erichsen <patrick.a.erichsen@gmail.com>
119 lines
3.6 KiB
Markdown
119 lines
3.6 KiB
Markdown
---
|
|
summary: "Run the OpenClaw Gateway on ChromeOS inside a Crostini Linux container"
|
|
read_when:
|
|
- Installing OpenClaw on a Chromebook or ChromeOS device
|
|
- Debugging missing provider keys or a Gateway that is gone after a reboot
|
|
title: "ChromeOS"
|
|
---
|
|
|
|
ChromeOS runs Linux software through **Crostini**, a managed Debian container
|
|
that Google exposes as the "Linux development environment". The Gateway runs
|
|
inside that container exactly like any other Linux install, so the [Linux
|
|
guide](/platforms/linux) applies in full. This page covers the ChromeOS
|
|
specific setup and the gotchas that differ from a plain Linux host.
|
|
|
|
OpenClaw requires Node because its canonical state store uses `node:sqlite`.
|
|
Bun can install dependencies or run package scripts, but it cannot run the
|
|
OpenClaw CLI or Gateway.
|
|
|
|
## Enable the Linux container
|
|
|
|
Turn on Crostini before installing anything:
|
|
|
|
1. Open ChromeOS **Settings**.
|
|
2. Go to **About ChromeOS** then **Developers**.
|
|
3. Next to **Linux development environment**, select **Set up** and follow the
|
|
prompts. ChromeOS downloads the Debian container and opens a **Terminal**.
|
|
|
|
Run every command below inside that Terminal.
|
|
|
|
## Quick path
|
|
|
|
1. Install via the installer script (it installs a supported Node for you):
|
|
|
|
```bash
|
|
curl -fsSL https://openclaw.ai/install.sh | bash
|
|
```
|
|
|
|
2. Onboard and install the service:
|
|
|
|
```bash
|
|
openclaw onboard --install-daemon
|
|
```
|
|
|
|
3. Confirm the Gateway is running:
|
|
|
|
```bash
|
|
openclaw gateway status
|
|
```
|
|
|
|
Full server guidance lives in the [Linux guide](/platforms/linux) and the
|
|
[Gateway runbook](/gateway).
|
|
|
|
## Prefer the native install over Docker
|
|
|
|
On a single user Chromebook, use the native npm install (the installer script,
|
|
or a global `npm i -g openclaw@latest`) rather than [Docker](/install/docker).
|
|
|
|
Docker works inside Crostini, but Docker in Crostini adds friction: if you use
|
|
the Claude Code CLI as your model runtime, it has to be installed and logged in
|
|
**inside a persisted container home**, which is easy to lose on a container
|
|
rebuild. The native install keeps the CLI and its login on the Crostini
|
|
filesystem directly, so a Docker image rebuild cannot wipe it.
|
|
|
|
## Node version
|
|
|
|
The Node version available in a Crostini container may be below OpenClaw's
|
|
minimum. OpenClaw requires Node 22.22.3+, Node 24.15+, or Node 25.9+; Node 26
|
|
is the recommended default. The installer script detects a missing or
|
|
unsupported Node version and provisions a supported release automatically.
|
|
|
|
If you installed Node yourself before OpenClaw, upgrade it **before** installing
|
|
OpenClaw:
|
|
|
|
```bash
|
|
node -v
|
|
```
|
|
|
|
See [Node install guidance](/install/node) for the supported versions.
|
|
|
|
## Provider keys and environment variables
|
|
|
|
The Gateway runs as a **systemd user service**, so an `export VAR=...` in an
|
|
interactive Terminal is not inherited by the already-installed service.
|
|
|
|
Put provider keys in `~/.openclaw/.env` instead, one per line:
|
|
|
|
```bash
|
|
DEEPSEEK_API_KEY=your-key-here
|
|
```
|
|
|
|
Then restart so the service picks them up:
|
|
|
|
```bash
|
|
openclaw gateway restart
|
|
```
|
|
|
|
See [Environment variables](/help/environment) for the full precedence and
|
|
source rules.
|
|
|
|
## Crostini is not always on
|
|
|
|
Do not treat Crostini as an always-on host. After a ChromeOS reboot, open the
|
|
**Terminal** once to start the Linux environment before relying on the Gateway.
|
|
|
|
Then verify the service:
|
|
|
|
```bash
|
|
openclaw gateway status
|
|
```
|
|
|
|
## Related
|
|
|
|
- [Linux guide](/platforms/linux)
|
|
- [Install overview](/install)
|
|
- [Node install guidance](/install/node)
|
|
- [Gateway runbook](/gateway)
|
|
- [Gateway configuration](/gateway/configuration)
|
|
- [Google: Set up Linux on your Chromebook](https://support.google.com/chromebook/answer/9145439)
|