{"id":50269715,"url":"https://github.com/molten-bot/openclaw","last_synced_at":"2026-05-27T16:05:14.744Z","repository":{"id":341625124,"uuid":"1170871829","full_name":"Molten-Bot/openclaw","owner":"Molten-Bot","description":"OpenClaw Docker Container","archived":false,"fork":false,"pushed_at":"2026-04-20T20:06:05.000Z","size":50,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-20T22:12:12.111Z","etag":null,"topics":["container","docker","dockerhub","openclaw"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/moltenai/openclaw","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Molten-Bot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-02T16:06:48.000Z","updated_at":"2026-04-20T20:06:07.000Z","dependencies_parsed_at":"2026-03-23T14:06:25.992Z","dependency_job_id":null,"html_url":"https://github.com/Molten-Bot/openclaw","commit_stats":null,"previous_names":["molten-bot/openclaw"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Molten-Bot/openclaw","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Molten-Bot%2Fopenclaw","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Molten-Bot%2Fopenclaw/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Molten-Bot%2Fopenclaw/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Molten-Bot%2Fopenclaw/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Molten-Bot","download_url":"https://codeload.github.com/Molten-Bot/openclaw/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Molten-Bot%2Fopenclaw/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33573332,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-27T02:00:06.184Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["container","docker","dockerhub","openclaw"],"created_at":"2026-05-27T16:05:13.501Z","updated_at":"2026-05-27T16:05:14.738Z","avatar_url":"https://github.com/Molten-Bot.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# openclaw\n\nDocker 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.\n\nDebian-based tags are published as multi-arch manifests for:\n- `linux/amd64`\n- `linux/arm64`\n\nAlpine tags are currently published for:\n- `linux/amd64`\n\n[![Build \u0026 Push to Docker Hub](https://github.com/Molten-Bot/openclaw/actions/workflows/docker-release.yml/badge.svg)](https://github.com/Molten-Bot/openclaw/actions/workflows/docker-release.yml)\n\nPull 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.\n\n## Usage\n\n```bash\ndocker pull moltenbot/openclaw:latest\n```\n\n### Tag Policy\n\n| Tag | Base | Support level | Notes |\n| --- | --- | --- | --- |\n| `latest` | Debian slim (Node LTS) | Primary | Recommended default tag |\n| `lts` | Debian slim (Node LTS) | Primary | Alias of `latest` |\n| `alpine` | Alpine (Node LTS) | Best effort | `linux/amd64` only |\n| `${OPENCLAW_VERSION}` | Debian slim (Node LTS) | Primary | Versioned Debian image |\n| `${OPENCLAW_VERSION}-lts` | Debian slim (Node LTS) | Primary | Versioned LTS alias |\n| `${OPENCLAW_VERSION}-alpine` | Alpine (Node LTS) | Best effort | `linux/amd64` only |\n\nPull examples:\n\n```bash\ndocker pull moltenbot/openclaw:latest\ndocker pull moltenbot/openclaw:lts\ndocker pull moltenbot/openclaw:alpine\n```\n\nLocal builds automatically use the version in `OPENCLAW_VERSION`:\n\n```bash\ndocker build -f Dockerfile .\ndocker build -f Dockerfile.alpine .\n```\n\n### Compatibility Notes\n\n- Alpine images use musl instead of glibc.\n- Native modules and some tooling may behave differently on Alpine.\n- Debian LTS variants are the primary support target.\n- Alpine is best-effort and may briefly lag if upstream breakage occurs.\n- Alpine arm64 is intentionally not published from CI at this time due build-time instability with native npm dependencies.\n- 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.\n\n### Migration Note\n\nPrior behavior:\n- `latest` tracked a current-major Debian Node image.\n\nCurrent behavior:\n- `latest` tracks Debian slim on Node LTS.\n\nIf you require a specific runtime behavior, pin explicit image tags.\n\n## Contributing\n\nContributions are welcome! Please follow the steps below.\n\n### 1. Fork \u0026 clone the repository\n\n```bash\ngit clone https://github.com/Molten-Bot/openclaw.git\ncd openclaw\n```\n\n### 2. Create a branch\n\nUse a short, descriptive branch name:\n\n```bash\ngit checkout -b your-feature-or-fix\n```\n\n### 3. Make your changes\n\nThe main files to edit are:\n- `OPENCLAW_VERSION` (single source of truth for the openclaw npm version)\n- `Dockerfile`\n- `Dockerfile.alpine`\n\nCommon changes include:\n- Bumping the `OPENCLAW_VERSION` to a newer npm release\n- Changing the base Node.js image\n- Adding extra tooling or configuration\n\n### 4. Open a Pull Request\n\nPush your branch and open a PR against `main`:\n\n```bash\ngit push origin your-feature-or-fix\n```\n\nThen go to the repository on GitHub and click **\"Compare \u0026 pull request\"**.\n\nPlease include in your PR description:\n- **What** changed and **why**\n- Any relevant links (e.g. npm release notes for a version bump)\n\n### 5. Versioning \u0026 releases\n\nOnce a PR is merged into `main`, GitHub Actions builds and pushes:\n- Debian LTS tags: `latest`, `lts`, `${OPENCLAW_VERSION}`, `${OPENCLAW_VERSION}-lts`\n- Alpine tags: `alpine`, `${OPENCLAW_VERSION}-alpine`\n\nTo publish a versioned release, a maintainer pushes a tag in the format `vYYYY.M.P` (e.g. `v2026.3.1`), which publishes:\n- Debian: `vYYYY.M.P`, `YYYY.M.P`, `vYYYY.M.P-lts`, `YYYY.M.P-lts`\n- Alpine: `vYYYY.M.P-alpine`, `YYYY.M.P-alpine`\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmolten-bot%2Fopenclaw","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmolten-bot%2Fopenclaw","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmolten-bot%2Fopenclaw/lists"}