From be0167ec271449d803a1426ff2e8a7986edbc588 Mon Sep 17 00:00:00 2001 From: Aaron Erickson Date: Sun, 5 Apr 2026 15:54:12 -0700 Subject: [PATCH] fix(image): add missing openclaw-data symlinks for exec-approvals, telegram, credentials OpenClaw writes to exec-approvals.json, telegram/, and credentials/ at runtime, but these paths had no symlinks from the root-owned .openclaw/ directory to the sandbox-writable .openclaw-data/. This caused EACCES permission denied errors for tool approvals, Telegram offset persistence, and WhatsApp credential storage. Fixes #1027 Refs #975, #1114 Signed-off-by: Aaron Erickson --- Dockerfile.base | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Dockerfile.base b/Dockerfile.base index 3fd658485c4..104f5e6dd23 100644 --- a/Dockerfile.base +++ b/Dockerfile.base @@ -102,6 +102,8 @@ RUN mkdir -p /sandbox/.openclaw-data/agents/main/agent \ /sandbox/.openclaw-data/canvas \ /sandbox/.openclaw-data/cron \ /sandbox/.openclaw-data/memory \ + /sandbox/.openclaw-data/telegram \ + /sandbox/.openclaw-data/credentials \ && mkdir -p /sandbox/.openclaw \ && ln -s /sandbox/.openclaw-data/agents /sandbox/.openclaw/agents \ && ln -s /sandbox/.openclaw-data/extensions /sandbox/.openclaw/extensions \ @@ -115,6 +117,10 @@ RUN mkdir -p /sandbox/.openclaw-data/agents/main/agent \ && ln -s /sandbox/.openclaw-data/memory /sandbox/.openclaw/memory \ && touch /sandbox/.openclaw-data/update-check.json \ && ln -s /sandbox/.openclaw-data/update-check.json /sandbox/.openclaw/update-check.json \ + && touch /sandbox/.openclaw-data/exec-approvals.json \ + && ln -s /sandbox/.openclaw-data/exec-approvals.json /sandbox/.openclaw/exec-approvals.json \ + && ln -s /sandbox/.openclaw-data/telegram /sandbox/.openclaw/telegram \ + && ln -s /sandbox/.openclaw-data/credentials /sandbox/.openclaw/credentials \ && chown -R sandbox:sandbox /sandbox/.openclaw /sandbox/.openclaw-data # Install OpenClaw CLI + PyYAML for inline Python scripts in e2e tests.