From 91b4a2a44bcf14c5f1d33fcdd8612a91e5c3cc90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=BE=E6=96=87=E9=94=8B0668000834?= Date: Tue, 7 Apr 2026 13:44:22 +0800 Subject: [PATCH] fix(docker): use PICOCLAW_HOME env var for volume paths in docker-compose.full.yml (#2269) The docker-compose.full.yml had hardcoded /root/.picoclaw paths for volumes. This caused issues when running containers with non-root users or custom home directories. Changes: - Add PICOCLAW_HOME environment variable support (defaults to /root/.picoclaw) - Use variable substitution in volume mounts for config.json and workspace - Applied to both picoclaw-agent and picoclaw-gateway services This allows users to override the home directory by setting PICOCLAW_HOME environment variable before running docker compose. --- docker/docker-compose.full.yml | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/docker/docker-compose.full.yml b/docker/docker-compose.full.yml index 6f34448c4..64e9dd5da 100644 --- a/docker/docker-compose.full.yml +++ b/docker/docker-compose.full.yml @@ -10,9 +10,12 @@ services: container_name: picoclaw-agent-full profiles: - agent + environment: + # Allow overriding the default home directory via environment variable + - PICOCLAW_HOME=${PICOCLAW_HOME:-/root/.picoclaw} volumes: - - ../config/config.json:/root/.picoclaw/config.json:ro - - picoclaw-workspace:/root/.picoclaw/workspace + - ../config/config.json:${PICOCLAW_HOME:-/root/.picoclaw}/config.json:ro + - picoclaw-workspace:${PICOCLAW_HOME:-/root/.picoclaw}/workspace - picoclaw-npm-cache:/root/.npm # npm cache for faster MCP server installs entrypoint: ["picoclaw", "agent"] stdin_open: true @@ -30,11 +33,14 @@ services: restart: unless-stopped profiles: - gateway + environment: + # Allow overriding the default home directory via environment variable + - PICOCLAW_HOME=${PICOCLAW_HOME:-/root/.picoclaw} volumes: # Configuration file - - ../config/config.json:/root/.picoclaw/config.json:ro + - ../config/config.json:${PICOCLAW_HOME:-/root/.picoclaw}/config.json:ro # Persistent workspace (sessions, memory, logs) - - picoclaw-workspace:/root/.picoclaw/workspace + - picoclaw-workspace:${PICOCLAW_HOME:-/root/.picoclaw}/workspace # NPM cache for faster MCP server installs - picoclaw-npm-cache:/root/.npm command: ["gateway"]