Skip to content

Bug: Permission Error on /app/data/bundles/skills when running via Docker on Windows #61

Description

@Riseonelimit

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

  1. Clone the repo on Windows
  2. Run docker compose up --build -d
  3. Check docker compose logs api — PermissionError on seed step
  4. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions