专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像 官方专业版轩辕镜像 官方专业版官方专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 1072982923

热门搜索:openclaw🔥nginx🔥redis🔥mysqlopenjdkcursorweb2apimemgraphzabbixetcdubuntucorednsjdk
openclaw

tenfyzhong/openclaw

tenfyzhong

Containerized OpenClaw Gateway setup with Docker and Docker Compose

下载次数: 0状态:社区镜像维护者:tenfyzhong仓库类型:镜像最近更新:7 天前
轩辕镜像,不浪费每一次拉取。点击查看
镜像简介版本下载
轩辕镜像,不浪费每一次拉取。点击查看

openclaw-docker

Containerized OpenClaw Gateway setup with Docker and Docker Compose.

This repository provides:

  • A production-oriented Dockerfile based on Ubuntu 24.04
  • Automatic OpenClaw installation from the official installer
  • A startup entrypoint that initializes openclaw.json on first run
  • Persistent config/workspace volumes for local development and daily use
  • A ready-to-run docker-compose.yml service definition

Repository Layout

  • Dockerfile: image build and gateway entrypoint script
  • docker-compose.yml: local runtime configuration
  • scripts/create-tag.sh: local release tag creation helper
  • .github/workflows/tag-build.yml: builds and pushes Docker image on tag push
  • .github/workflows/sync-upstream-major.yml: manual workflow to sync latest upstream major tag
  • .github/workflows/bats-tests.yml: runs bats unit tests for release script changes
  • tests/create-tag.bats: unit tests for release tag script
  • LICENSE: MIT license

Prerequisites

  • Docker Engine with Docker Compose v2
  • Network access during image build (for package install and OpenClaw installer)

Quick Start

  1. Build and start:
bash
docker compose up -d --build
  1. Check container status:
bash
docker compose ps
  1. Check gateway health endpoint:
bash
curl http://127.0.0.1:18789/healthz
  1. Read logs:
bash
docker compose logs -f openclaw-gateway
  1. Stop service:
bash
docker compose down

First-Time Onboarding in Container

After the first startup, enter the container and run onboarding:

bash
docker compose exec openclaw-gateway bash
openclaw onboard

Notes for first-time setup:

  • During onboarding, the gateway process may restart.
  • If your current terminal session is interrupted, enter the container again and run openclaw onboard again.
  • Existing onboarding progress is reused from persisted config, so you only need to complete the remaining steps.

Persistence and Default Paths

By default, Compose maps the following host directories:

  • ./.docker/openclaw/config -> /home/node/.openclaw
  • ./.docker/openclaw/workspace -> /home/node/.openclaw/workspace

The container entrypoint creates these directories automatically when needed.

First-Run Config Initialization

If /home/node/.openclaw/openclaw.json does not exist, the entrypoint generates it with:

  • gateway.mode from OPENCLAW_INIT_GATEWAY_MODE (default: local)
  • gateway.bind from OPENCLAW_GATEWAY_BIND (default: lan)
  • gateway.auth.token from OPENCLAW_GATEWAY_TOKEN, or auto-generated when empty
  • gateway.controlUi.allowedOrigins from OPENCLAW_INIT_CONTROL_UI_ALLOWED_ORIGINS, or http://127.0.0.1:<port> by default

If a token is generated automatically, it is persisted in openclaw.json and reused on later starts.

Main Environment Variables

You can place these in a .env file next to docker-compose.yml.

VariableDefaultDescription
OPENCLAW_VERSIONlatestOpenClaw version passed to image build (install.sh --version)
OPENCLAW_GATEWAY_BINDlanGateway bind strategy passed to openclaw gateway --bind
OPENCLAW_GATEWAY_PORT18789Gateway HTTP port
OPENCLAW_BRIDGE_PORT18790Bridge port exposed by Compose
OPENCLAW_GATEWAY_TOKENemptyGateway auth token. If empty and config missing, one is generated
OPENCLAW_INIT_GATEWAY_MODElocalInitial gateway.mode for generated config
OPENCLAW_INIT_CONTROL_UI_ALLOWED_ORIGINSautoJSON array string for allowed control UI origins
OPENCLAW_GATEWAY_CONTROLUI_DANGEROUSLY_ALLOW_HOST_HEADER_ORIGIN_FALLBACKfalseInitial fallback behavior in generated config
OPENCLAW_ALLOW_INSECURE_PRIVATE_WSemptyForwarded to container runtime environment
OPENCLAW_CONFIG_DIR./.docker/openclaw/configHost directory for OpenClaw state/config
OPENCLAW_WORKSPACE_DIR./.docker/openclaw/workspaceHost directory for workspace
CLAUDE_AI_SESSION_KEYemptyOptional key forwarded into container
CLAUDE_WEB_SESSION_KEYemptyOptional key forwarded into container
CLAUDE_WEB_COOKIEemptyOptional cookie forwarded into container

Getting the Current Gateway Token

If you did not set OPENCLAW_GATEWAY_TOKEN manually, inspect the generated config:

bash
jq -r '.gateway.auth.token' ./.docker/openclaw/config/openclaw.json

If jq is not installed:

bash
grep -n '"token"' ./.docker/openclaw/config/openclaw.json

Manual Image Build and Run

Build image:

bash
docker build --build-arg OPENCLAW_VERSION=2026.3.11 -t openclaw:local .

Run container directly:

bash
docker run --rm -it \
  -p 18789:18789 -p 18790:18790 \
  -e OPENCLAW_GATEWAY_BIND=lan \
  -v "$PWD/.docker/openclaw/config:/home/node/.openclaw" \
  -v "$PWD/.docker/openclaw/workspace:/home/node/.openclaw/workspace" \
  openclaw:local gateway

Release Tag and Image Automation

Create a local release tag

Use the script from repository root:

bash
./scripts/create-tag.sh

Optional: force a specific major version:

bash
./scripts/create-tag.sh --major 2026.3.11

Script behavior:

  • Always runs git fetch --tags origin first
  • Major version source is openclaw/openclaw stable tags only (vX.Y.Z, excludes -beta.*)
  • If --major is provided, it must exist in openclaw/openclaw
  • If local repo does not have vX.Y.Z, it creates vX.Y.Z
  • If local repo already has vX.Y.Z, it creates the next patch tag vX.Y.Z.N (auto increment)
  • It only creates local tag; push is manual

Push manually when ready:

bash
git push origin <tag>

Auto build on tag push

Workflow: .github/workflows/tag-build.yml

  • Trigger: git push of tag matching v*
  • Docker tags pushed:
    • tenfyzhong/openclaw:<git-tag-without-v>
    • tenfyzhong/openclaw:latest
  • Build arg OPENCLAW_VERSION always uses major base (X.Y.Z)
    • Example: git tag v2026.3.11.2 builds with OPENCLAW_VERSION=2026.3.11

Manual sync entry (GitHub Actions)

Workflow: .github/workflows/sync-upstream-major.yml

Run manually from GitHub:

  1. Open repository Actions
  2. Select Sync Latest Upstream Major Tag
  3. Click Run workflow

Behavior:

  • Fetches latest stable major tag from openclaw/openclaw
  • Runs git fetch --tags origin
  • If this repo already has that major tag, exits with no changes
  • If missing, creates and pushes that major tag
  • Pushed tag triggers tag-build.yml to build/push Docker image

Required GitHub Secrets

Configure repository secrets in Settings -> Secrets and variables -> Actions:

  • DOCKERHUB_USERNAME: Docker Hub username
  • DOCKERHUB_TOKEN: Docker Hub access token (for docker/login-action)
  • RELEASE_PUSH_TOKEN: GitHub token used by manual sync workflow to push tags

How to create RELEASE_PUSH_TOKEN

Recommended: Fine-grained personal access token.

  1. GitHub avatar -> Settings
  2. Developer settings -> Personal access tokens -> Fine-grained tokens
  3. Click Generate new token
  4. Set token name and expiration
  5. Repository access: select only this repository
  6. Repository permissions:
    • Contents: Read and write
    • Metadata: Read-only (default)
  7. Generate token and copy it immediately
  8. Go back to repository Settings -> Secrets and variables -> Actions
  9. New repository secret
  10. Name: RELEASE_PUSH_TOKEN
  11. Value: the generated token

After saving, rerun Sync Latest Upstream Major Tag workflow.

Run release script tests

bash
bats tests/create-tag.bats

CI workflow Bats Unit Tests runs automatically on:

  • All pull requests targeting main
  • Pushes to main

Protect main branch on GitHub

To require CI success before merge and block direct pushes:

  1. Go to repository Settings -> Branches -> Add branch protection rule
  2. Set Branch name pattern to main
  3. Enable Require a pull request before merging
  4. Enable Require status checks to pass before merging
  5. Select status check Bats Unit Tests / bats
  6. Enable Require branches to be up to date before merging (recommended)
  7. Enable Include administrators (recommended)
  8. Disable direct push by enabling Restrict who can push to matching branches and leaving only trusted automation/users
  9. Keep Allow force pushes and Allow deletions disabled

Security Notes

  • The default bind mode is lan. Ensure your host firewall and network policy are appropriate.
  • Use a strong, private OPENCLAW_GATEWAY_TOKEN for non-local environments.
  • Keep mounted config directories private because they contain authentication token data.

License

This project is licensed under the MIT License. See LICENSE for details.

查看更多 openclaw 相关镜像 →

alpine/openclaw logo

alpine/openclaw

Alpine 工具与轻量镜像
OpenClaw - 您的个人AI助手,支持任何操作系统和平台,以独特的“龙虾方式”提供服务。🦞
90 次收藏10万+ 次下载
12 天前更新
openeuler/openclaw logo

openeuler/openclaw

openeuler
OpenClaw是一款可在个人设备上运行的AI助手,支持WhatsApp、Telegram、Slack、Discord等多种消息渠道,由openEuler CloudNative SIG维护。
1 次收藏2.8千+ 次下载
30 天前更新
0penclaw/openclaw logo

0penclaw/openclaw

0penclaw
基于GitHub仓库https://github.com/openclaw/openclaw的Dockerfile构建的OpenClaw Docker镜像,用于OpenClaw应用的容器化部署。
5 次收藏1万+ 次下载
1 个月前更新
1panel/openclaw logo

1panel/openclaw

1panel
运行在个人设备上的跨平台AI助理,支持飞书、钉钉、企业微信等多种沟通渠道,可7x24小时本地运行。
21 次收藏50万+ 次下载
12 天前更新
dr34m/openclaw logo

dr34m/openclaw

dr34m
每10分钟自动从官方仓库ghcr.io/openclaw/openclaw同步的Docker镜像,通过Github Action实现安全透明同步,无恶意软件风险。
1 次收藏5万+ 次下载
12 天前更新
coollabsio/openclaw logo

coollabsio/openclaw

coollabsio
暂无描述
1 次收藏5万+ 次下载
13 天前更新

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

Docker 配置

登录仓库拉取

通过 Docker 登录认证访问私有仓库

专属域名拉取

无需登录使用专属域名

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

Harbor 镜像源配置

Harbor Proxy Repository 对接专属域名

Portainer 镜像源配置

Portainer Registries 加速拉取

Nexus 镜像源配置

Nexus3 Docker Proxy 内网缓存

系统配置

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

MacOS OrbStack

MacOS OrbStack 容器配置

Docker Compose

Docker Compose 项目配置

NAS 设备

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

极空间

极空间 NAS 系统配置服务

网络设备

爱快路由

爱快 iKuai 路由系统配置

宝塔面板

在宝塔面板一键配置镜像

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

使用与功能问题

配置了专属域名后,docker search 为什么会报错?

docker search 限制

Docker Hub 上有的镜像,为什么在轩辕镜像网站搜不到?

站内搜不到镜像

机器不能直连外网时,怎么用 docker save / load 迁镜像?

离线 save/load

docker pull 拉插件报错(plugin v1+json)怎么办?

插件要用 plugin install

WSL 里 Docker 拉镜像特别慢,怎么排查和优化?

WSL 拉取慢

轩辕镜像安全吗?如何用 digest 校验镜像没被篡改?

安全与 digest

第一次用轩辕镜像拉 Docker 镜像,要怎么登录和配置?

新手拉取配置

错误码与失败问题

docker pull 提示 manifest unknown 怎么办?

manifest unknown

docker pull 提示 no matching manifest 怎么办?

no matching manifest(架构)

镜像已拉取完成,却提示 invalid tar header 或 failed to register layer 怎么办?

invalid tar header(解压)

Docker pull 时 HTTPS / TLS 证书验证失败怎么办?

TLS 证书失败

Docker pull 时 DNS 解析超时或连不上仓库怎么办?

DNS 超时

Docker 拉取出现 410 Gone 怎么办?

410 Gone 排查

出现 402 或「流量用尽」提示怎么办?

402 与流量用尽

Docker 拉取提示 UNAUTHORIZED(401)怎么办?

401 认证失败

遇到 429 Too Many Requests(请求太频繁)怎么办?

429 限流

docker login 提示 Cannot autolaunch D-Bus,还算登录成功吗?

D-Bus 凭证提示

为什么会出现「单层超过 20GB」或 413,无法加速拉取?

413 与超大单层

账号 / 计费 / 权限

轩辕镜像免费版和专业版有什么区别?

免费版与专业版区别

轩辕镜像支持哪些 Docker 镜像仓库?

支持的镜像仓库

镜像拉取失败还会不会扣流量?

失败是否计费

麒麟 V10 / 统信 UOS 提示 KYSEC 权限不够怎么办?

KYSEC 拦截脚本

如何在轩辕镜像申请开具发票?

申请开票

怎么修改轩辕镜像的网站登录和仓库登录密码?

修改登录密码

如何注销轩辕镜像账户?要注意什么?

注销账户

配置与原理类

写了 registry-mirrors,为什么还是走官方或仍然报错?

mirrors 不生效

怎么用 docker tag 去掉镜像名里的轩辕域名前缀?

去掉域名前缀

如何拉取指定 CPU 架构的镜像(如 ARM64、AMD64)?

指定架构拉取

用轩辕镜像拉镜像时快时慢,常见原因有哪些?

拉取速度原因

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
tenfyzhong/openclaw
博客公告Docker 镜像公告与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
镜像拉取问题咨询请 提交工单,官方技术交流群:1072982923。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
镜像拉取问题咨询请提交工单,官方技术交流群:。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
商务合作:点击复制邮箱
©2024-2026 源码跳动
商务合作:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.