Describe the bug
Running docker compose up --build -d on Windows (Docker Desktop) causes the API container to crash on startup with a PermissionError: [Errno 13] Permission denied: '/app/data/bundles/skills' during the seed script. The container enters a restart loop and never becomes healthy.
Error
api-1 | Seeding skills...
api-1 | Traceback (most recent call last):
api-1 | File "/app/scripts/seed_data.py", line 84, in seed_skill
api-1 | storage_key, checksum = ensure_bundle(slug, full_md)
api-1 | File "/app/scripts/seed_data.py", line 41, in ensure_bundle
api-1 | bundle_path.parent.mkdir(parents=True, exist_ok=True)
api-1 | File "/usr/local/lib/python3.12/pathlib.py", line 1311, in mkdir
api-1 | os.mkdir(self, mode)
api-1 | PermissionError: [Errno 13] Permission denied: '/app/data/bundles/skills'
Root Cause
On Windows + Docker Desktop, the /app/data volume is mounted with permissions that don't allow the non-root container user to create directories. The seed script tries to create /app/data/bundles/skills/<slug>/ but is denied.
To Reproduce
- Clone the repo on Windows
- Run
docker compose up --build -d
- Check
docker compose logs api — PermissionError on seed step
docker compose ps shows api container in restart loop
Workaround
Create a docker-compose.override.yml in the project root:
services:
api:
user: root
mcp:
user: root
Then run docker compose down -v && docker compose up --build -d.
Expected behavior
The API container should start successfully on Windows without requiring a manual override file.
Describe the bug
Running
docker compose up --build -don Windows (Docker Desktop) causes the API container to crash on startup with aPermissionError: [Errno 13] Permission denied: '/app/data/bundles/skills'during the seed script. The container enters a restart loop and never becomes healthy.Error
Root Cause
On Windows + Docker Desktop, the
/app/datavolume is mounted with permissions that don't allow the non-root container user to create directories. The seed script tries to create/app/data/bundles/skills/<slug>/but is denied.To Reproduce
docker compose up --build -ddocker compose logs api— PermissionError on seed stepdocker compose psshowsapicontainer in restart loopWorkaround
Create a
docker-compose.override.ymlin the project root:Then run
docker compose down -v && docker compose up --build -d.Expected behavior
The API container should start successfully on Windows without requiring a manual override file.