环境变量
scripts/docker/setup.sh 和网关容器的可选变量,以及构建内存调优。属于 Docker 指南的一部分。
环境变量¶
scripts/docker/setup.sh 接受的可选变量(对于网关容器,也可由 docker-compose.yml 直接使用):
| 变量 | 用途 |
|---|---|
OPENCLAW_IMAGE |
使用远程镜像,而非本地构建 |
OPENCLAW_GATEWAY_PORT |
主机发布的网关端口(默认 18789);两个容器内部均保留端口 18789 |
OPENCLAW_IMAGE_APT_PACKAGES |
在构建期间安装额外的 apt 包(以空格分隔)。旧版别名:OPENCLAW_DOCKER_APT_PACKAGES |
OPENCLAW_IMAGE_PIP_PACKAGES |
在构建期间安装额外的 Python 包(以空格分隔) |
OPENCLAW_EXTENSIONS |
编译/打包所选的受支持插件,并安装其运行时依赖(以逗号或空格分隔的 id) |
OPENCLAW_DOCKER_BUILD_NODE_OPTIONS |
覆盖本地源码构建的 Node 选项(默认 --max-old-space-size=8192) |
OPENCLAW_DOCKER_BUILD_TSDOWN_MAX_OLD_SPACE_MB |
以 MB 为单位覆盖本地源码构建的 tsdown 堆大小 |
OPENCLAW_DOCKER_BUILD_SKIP_DTS |
在仅运行时的本地镜像构建期间跳过声明输出(默认 1) |
OPENCLAW_INSTALL_BROWSER |
在构建时将 Chromium + Xvfb 打包进镜像 |
OPENCLAW_EXTRA_MOUNTS |
额外的主机绑定挂载(逗号分隔的 source:target[:opts]) |
OPENCLAW_HOME_VOLUME |
将 /home/node 持久化到命名的 Docker 卷中 |
OPENCLAW_TZ |
将网关和 CLI 容器的时区设置为 IANA 名称(默认 UTC) |
OPENCLAW_SANDBOX |
选择启用沙箱引导(1、true、yes、on) |
OPENCLAW_SKIP_ONBOARDING |
跳过交互式初始设置步骤(1、true、yes、on) |
OPENCLAW_DOCKER_SOCKET |
覆盖 Docker socket 路径 |
OPENCLAW_DISABLE_BONJOUR |
强制开启(0)或关闭(1)Bonjour/mDNS 广播;参见 Bonjour / mDNS |
OPENCLAW_DISABLE_BUNDLED_SOURCE_OVERLAYS |
禁用捆绑插件源码的绑定挂载覆盖层 |
OTEL_EXPORTER_OTLP_ENDPOINT |
用于 OpenTelemetry 导出的共享 OTLP/HTTP 收集器端点 |
OTEL_EXPORTER_OTLP_*_ENDPOINT |
针对 traces、metrics 或 logs 的信号专用 OTLP 端点 |
OTEL_EXPORTER_OTLP_PROTOCOL |
共享 OTLP 协议回退。仅支持 http/protobuf |
OTEL_EXPORTER_OTLP_*_PROTOCOL |
针对 traces、metrics 或 logs 的信号专用协议回退;优先于共享回退 |
OTEL_SERVICE_NAME |
用于 OpenTelemetry 资源的服务名称 |
OTEL_SEMCONV_STABILITY_OPT_IN |
选择启用最新的实验性 GenAI 语义属性 |
OPENCLAW_OTEL_PRELOADED |
当已预加载一个 OpenTelemetry SDK 时,跳过启动第二个 SDK |
更改 .env 或 Compose 环境设置后,运行 docker compose up -d openclaw-gateway 以使用新值重新创建网关。docker compose restart 不会应用环境更改。
官方镜像不附带 Homebrew。在初始设置过程中,OpenClaw 会在没有 brew 的 Linux 容器中隐藏仅限 brew 的技能依赖安装程序;请通过自定义镜像提供这些依赖,或手动安装。使用 OPENCLAW_IMAGE_APT_PACKAGES 安装 Debian 打包的依赖,使用 OPENCLAW_IMAGE_PIP_PACKAGES 安装 Python 依赖(构建时运行 python3 -m pip install --break-system-packages,因此请固定版本并仅使用可信的索引)。
如果 Docker 报告 ResourceExhausted、cannot allocate memory,或在 tsdown 期间中止,请增加 Docker 构建器内存限制,或使用更小的显式堆重试:
OPENCLAW_DOCKER_BUILD_NODE_OPTIONS=--max-old-space-size=4096 OPENCLAW_DOCKER_BUILD_TSDOWN_MAX_OLD_SPACE_MB=4096
显式的 tsdown 堆覆盖也是在自动检测到的安全最小值以下尝试构建时所支持的主动选择。这种尝试可能会停滞或失败。
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw