From fbf1a6dcc229f0ffe5c94d92b62908ec58984466 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 9 Apr 2026 19:23:08 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20review=20feedback=20=E2=80=94=20cd=20pat?= =?UTF-8?q?h=20in=20release.sh,=20compose=20file=20access=20in=20edge=20co?= =?UTF-8?q?ntainer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - formulas/release.sh: cd to $FACTORY_ROOT (not parent) for docker compose build - docker-compose.yml: mount docker-compose.yml into edge container, pass HOST_PROJECT_DIR - dispatcher.sh: use -f and --project-directory so compose resolves volume paths against the host filesystem when invoked from inside the edge container Co-Authored-By: Claude Opus 4.6 (1M context) --- docker-compose.yml | 2 ++ docker/edge/dispatcher.sh | 8 +++++++- formulas/release.sh | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index dd5a8d6..b00062b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -116,6 +116,7 @@ services: - ${HOME}/.claude.json:/root/.claude.json:ro - ${HOME}/.claude:/root/.claude:ro - disinto-logs:/opt/disinto-logs + - ./docker-compose.yml:/opt/docker-compose.yml:ro environment: - FORGE_SUPERVISOR_TOKEN=${FORGE_SUPERVISOR_TOKEN:-} - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-} @@ -123,6 +124,7 @@ services: - FORGE_TOKEN=${FORGE_TOKEN:-} - FORGE_URL=http://forgejo:3000 - DISINTO_CONTAINER=1 + - HOST_PROJECT_DIR=${HOST_PROJECT_DIR:-.} ports: - "80:80" - "443:443" diff --git a/docker/edge/dispatcher.sh b/docker/edge/dispatcher.sh index d126b46..da33c7a 100755 --- a/docker/edge/dispatcher.sh +++ b/docker/edge/dispatcher.sh @@ -411,7 +411,13 @@ launch_runner() { # Build docker compose run command (delegates to compose runner service) # The runner service definition handles image, network, volumes, and base env. # The dispatcher only adds declared secrets and the ops repo mount. - local -a cmd=(docker compose run --rm) + # + # The edge container has docker-compose.yml mounted at /opt/docker-compose.yml. + # --project-directory tells docker compose to resolve relative paths (volumes, + # env_file) against the HOST project root so the Docker daemon finds them. + local compose_file="${COMPOSE_FILE:-/opt/docker-compose.yml}" + local project_dir="${HOST_PROJECT_DIR:-.}" + local -a cmd=(docker compose -f "$compose_file" --project-directory "$project_dir" run --rm) # Add environment variables for secrets (if any declared) if [ -n "$secrets_array" ]; then diff --git a/formulas/release.sh b/formulas/release.sh index cc46950..b8c4eb6 100644 --- a/formulas/release.sh +++ b/formulas/release.sh @@ -163,7 +163,7 @@ fi log "Step 4/6: Building agents Docker image" -cd "$FACTORY_ROOT/.." || exit 1 +cd "$FACTORY_ROOT" || exit 1 docker compose build --no-cache agents 2>&1 | tail -5 log "Image built"