https://github.com/molten-bot/openclaw
OpenClaw Docker Container
https://github.com/molten-bot/openclaw
container docker dockerhub openclaw
Last synced: 17 days ago
JSON representation
OpenClaw Docker Container
- Host: GitHub
- URL: https://github.com/molten-bot/openclaw
- Owner: Molten-Bot
- License: mit
- Created: 2026-03-02T16:06:48.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-04-20T20:06:05.000Z (about 2 months ago)
- Last Synced: 2026-04-20T22:12:12.111Z (about 2 months ago)
- Topics: container, docker, dockerhub, openclaw
- Language: Dockerfile
- Homepage: https://hub.docker.com/r/moltenai/openclaw
- Size: 48.8 KB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# openclaw
Docker image for [openclaw](https://www.npmjs.com/package/openclaw), automatically built and published to [moltenbot/openclaw](https://hub.docker.com/r/moltenbot/openclaw) on Docker Hub.
Debian-based tags are published as multi-arch manifests for:
- `linux/amd64`
- `linux/arm64`
Alpine tags are currently published for:
- `linux/amd64`
[](https://github.com/Molten-Bot/openclaw/actions/workflows/docker-release.yml)
Pull requests that change Dockerfiles, `OPENCLAW_VERSION`, or this workflow run the Docker build matrix as validation. Only `main` pushes and `v*` tags publish images to Docker Hub.
## Usage
```bash
docker pull moltenbot/openclaw:latest
```
### Tag Policy
| Tag | Base | Support level | Notes |
| --- | --- | --- | --- |
| `latest` | Debian slim (Node LTS) | Primary | Recommended default tag |
| `lts` | Debian slim (Node LTS) | Primary | Alias of `latest` |
| `alpine` | Alpine (Node LTS) | Best effort | `linux/amd64` only |
| `${OPENCLAW_VERSION}` | Debian slim (Node LTS) | Primary | Versioned Debian image |
| `${OPENCLAW_VERSION}-lts` | Debian slim (Node LTS) | Primary | Versioned LTS alias |
| `${OPENCLAW_VERSION}-alpine` | Alpine (Node LTS) | Best effort | `linux/amd64` only |
Pull examples:
```bash
docker pull moltenbot/openclaw:latest
docker pull moltenbot/openclaw:lts
docker pull moltenbot/openclaw:alpine
```
Local builds automatically use the version in `OPENCLAW_VERSION`:
```bash
docker build -f Dockerfile .
docker build -f Dockerfile.alpine .
```
### Compatibility Notes
- Alpine images use musl instead of glibc.
- Native modules and some tooling may behave differently on Alpine.
- Debian LTS variants are the primary support target.
- Alpine is best-effort and may briefly lag if upstream breakage occurs.
- Alpine arm64 is intentionally not published from CI at this time due build-time instability with native npm dependencies.
- If an upstream npm release omits `dist/control-ui`, Docker build falls back to building Control UI assets from the matching source tag and copies them into the installed package.
### Migration Note
Prior behavior:
- `latest` tracked a current-major Debian Node image.
Current behavior:
- `latest` tracks Debian slim on Node LTS.
If you require a specific runtime behavior, pin explicit image tags.
## Contributing
Contributions are welcome! Please follow the steps below.
### 1. Fork & clone the repository
```bash
git clone https://github.com/Molten-Bot/openclaw.git
cd openclaw
```
### 2. Create a branch
Use a short, descriptive branch name:
```bash
git checkout -b your-feature-or-fix
```
### 3. Make your changes
The main files to edit are:
- `OPENCLAW_VERSION` (single source of truth for the openclaw npm version)
- `Dockerfile`
- `Dockerfile.alpine`
Common changes include:
- Bumping the `OPENCLAW_VERSION` to a newer npm release
- Changing the base Node.js image
- Adding extra tooling or configuration
### 4. Open a Pull Request
Push your branch and open a PR against `main`:
```bash
git push origin your-feature-or-fix
```
Then go to the repository on GitHub and click **"Compare & pull request"**.
Please include in your PR description:
- **What** changed and **why**
- Any relevant links (e.g. npm release notes for a version bump)
### 5. Versioning & releases
Once a PR is merged into `main`, GitHub Actions builds and pushes:
- Debian LTS tags: `latest`, `lts`, `${OPENCLAW_VERSION}`, `${OPENCLAW_VERSION}-lts`
- Alpine tags: `alpine`, `${OPENCLAW_VERSION}-alpine`
To publish a versioned release, a maintainer pushes a tag in the format `vYYYY.M.P` (e.g. `v2026.3.1`), which publishes:
- Debian: `vYYYY.M.P`, `YYYY.M.P`, `vYYYY.M.P-lts`, `YYYY.M.P-lts`
- Alpine: `vYYYY.M.P-alpine`, `YYYY.M.P-alpine`
## License
[MIT](LICENSE)