From 6d200b5ac2ba3942e918599d9a888f686a7b2eb1 Mon Sep 17 00:00:00 2001 From: Jeremie Fraeys Date: Mon, 23 Feb 2026 14:20:23 -0500 Subject: [PATCH] fix(docker): Use named volume for Redis to fix permission errors Replace bind mount with Docker named volume for Redis data This fixes 'operation not permitted' errors on macOS Docker Desktop where bind mounts fail due to file sharing restrictions --- deployments/docker-compose.dev.yml | 4 +++- scripts/testing/test-native-with-redis.sh | 7 ------- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/deployments/docker-compose.dev.yml b/deployments/docker-compose.dev.yml index 58cd4d9..b522568 100644 --- a/deployments/docker-compose.dev.yml +++ b/deployments/docker-compose.dev.yml @@ -23,7 +23,7 @@ services: ports: - "6379:6379" volumes: - - ${FETCHML_REPO_ROOT:-..}/data/dev/redis:/data + - redis_data:/data restart: unless-stopped command: redis-server --appendonly yes healthcheck: @@ -218,6 +218,8 @@ services: # depends_on: # - loki volumes: + redis_data: + driver: local prometheus_data: driver: local grafana_data: diff --git a/scripts/testing/test-native-with-redis.sh b/scripts/testing/test-native-with-redis.sh index 2175894..50fd3c7 100755 --- a/scripts/testing/test-native-with-redis.sh +++ b/scripts/testing/test-native-with-redis.sh @@ -7,13 +7,6 @@ set -e echo "=== FetchML Native Library Test with Redis ===" echo "" -# Create data directories if they don't exist (fixes Docker mount permission issues) -echo "Creating data directories..." -mkdir -p data/dev/redis -mkdir -p data/dev/logs -mkdir -p data/dev/experiments -mkdir -p data/dev/active - # Check if native libraries are built if [ ! -f "native/build/libqueue_index.so" ] && [ ! -f "native/build/libqueue_index.dylib" ]; then echo "Building native libraries..."