diff --git a/docker-compose.yml b/docker-compose.yml index aa93d00..3b97e8a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -113,8 +113,8 @@ services: volumes: - /var/run/docker.sock:/var/run/docker.sock - /usr/local/bin/claude:/usr/local/bin/claude:ro - - ${HOME}/.claude.json:/root/.claude.json:ro - - ${HOME}/.claude:/root/.claude:ro + - ${HOME}/.claude:/home/agent/.claude + - ${HOME}/.claude.json:/home/agent/.claude.json:ro - disinto-logs:/opt/disinto-logs - ./docker-compose.yml:/opt/docker-compose.yml:ro environment: diff --git a/docker/edge/entrypoint-edge.sh b/docker/edge/entrypoint-edge.sh index 6517511..8f779c8 100755 --- a/docker/edge/entrypoint-edge.sh +++ b/docker/edge/entrypoint-edge.sh @@ -42,6 +42,12 @@ if [ ! -d /opt/disinto/.git ]; then git clone --depth 1 --branch "${DISINTO_VERSION:-main}" "${_auth_url}/${FORGE_REPO}.git" /opt/disinto fi +# Set HOME so that claude OAuth credentials and session.lock are found at the +# same in-container path as in disinto-agents (/home/agent/.claude), which makes +# flock cross-serialize across containers on the same host inode. +export HOME=/home/agent +mkdir -p "$HOME" + # Start dispatcher in background bash /opt/disinto/docker/edge/dispatcher.sh &