fix: use host bind mount for /data/repos so tool containers can access mounted repos

The API container used a named Docker volume (repo_data:/data/repos) for
storing repositories. When creating tool instances with direct mount mode,
the API told Docker to bind-mount /data/repos/<repo>:/workspace into the
tool container. But the Docker daemon resolves bind-mount paths on the HOST
filesystem, not inside the API container. Since the host had no /data/repos
(the repos only existed inside the named volume), tool containers mounted
empty directories.

Changed both compose files to use a host bind mount (/data/repos:/data/repos)
instead of a named volume. This ensures:
- The API container and tool containers both see the same /data/repos path
- Bind mounts from /data/repos into tool containers work correctly

For existing installations: repos previously stored in the repo_data named
volume should be copied to /data/repos on the host before restarting the
stack.

Quality gates: compose file syntax valid
This commit is contained in:
2026-05-30 15:46:02 +02:00
parent b7396d58d2
commit d2b6bba15c
3 changed files with 167 additions and 147 deletions
+1 -2
View File
@@ -57,7 +57,7 @@ services:
REPO_BASE_PATH: /data/repos
INSTANCE_BASE_PATH: /data/instances
volumes:
- repo_data:/data/repos
- /data/repos:/data/repos
- /data/instances:/data/instances
ports:
- "8000:8000"
@@ -91,7 +91,6 @@ services:
volumes:
postgres_data:
redis_data:
repo_data:
networks:
backend: