You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
memory: the README's Docker upgrade advice leaves the container with no index.js #5457
For Awareness: a prior mcp/memory volume contains an index.js file that could be overwritten by the new container. If you are using a docker volume for storage, delete the old docker volume's index.js file before starting the new container.
Following it breaks the container instead of upgrading it. The documented setup mounts the named volume claude-memory over /app/dist, the image's code directory. Docker seeds a named volume from the image only while the volume is empty, so once the volume holds memory.jsonl the image's new dist/ is never copied in: deleting index.js leaves /app/dist with no entry point.
The reverse holds too: as long as index.js stays in the volume, every newer image keeps running the code from the first image that populated it. #5346 (closed, not planned) noted that shadowing while deciding to keep the default graph location.
Reproduce
Found while verifying #5345, with both the v2/main image and the #5345 image:
docker build -f src/memory/Dockerfile -t mcp/memory .# create a graph so the volume is non-empty, then follow the README:
docker run --rm -v claude-memory:/v alpine rm /v/index.js /v/version.js
docker run -i --rm -v claude-memory:/app/dist mcp/memory
# node:internal/modules/cjs/loader ... Cannot find module '/app/dist/index.js'
Expected
The README gives upgrade advice that works. Delete the volume's *.js files and copy the new image's dist/*.js into the volume, keeping memory.jsonl. Or point Docker users at a volume on its own directory with MEMORY_FILE_PATH, and explain how to move an existing memory.jsonl there. The second option does not change the server's default, which #5346 kept.
Activity