From 9abd6bf342aa9e05339df53826b11610d102b39a Mon Sep 17 00:00:00 2001 From: teknium1 Date: Mon, 9 Mar 2026 17:24:00 -0700 Subject: [PATCH] fix: gateway missing docker_volumes config bridge + list serialization bug MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The gateway's config.yaml → env var bridge was missing docker_volumes, so Docker volume mounts configured in config.yaml were ignored for gateway sessions (Telegram, Discord, etc.) while working in CLI. Also fixes list serialization: str() produces Python repr with single quotes which json.loads() in terminal_tool.py can't parse. Now uses json.dumps() for list values. Based on PR #431 by @manuelschipper (applied manually due to stale branch). --- gateway/run.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gateway/run.py b/gateway/run.py index 2584521d1..6dd1a280a 100644 --- a/gateway/run.py +++ b/gateway/run.py @@ -75,11 +75,16 @@ if _config_path.exists(): "container_memory": "TERMINAL_CONTAINER_MEMORY", "container_disk": "TERMINAL_CONTAINER_DISK", "container_persistent": "TERMINAL_CONTAINER_PERSISTENT", + "docker_volumes": "TERMINAL_DOCKER_VOLUMES", "sandbox_dir": "TERMINAL_SANDBOX_DIR", } for _cfg_key, _env_var in _terminal_env_map.items(): if _cfg_key in _terminal_cfg: - os.environ[_env_var] = str(_terminal_cfg[_cfg_key]) + _val = _terminal_cfg[_cfg_key] + if isinstance(_val, list): + os.environ[_env_var] = json.dumps(_val) + else: + os.environ[_env_var] = str(_val) _compression_cfg = _cfg.get("compression", {}) if _compression_cfg and isinstance(_compression_cfg, dict): _compression_env_map = {