Problem:
While starting your dockerized wekan setup, you see an error message like this:
wekan_1 | errorClass [Error]: [FilesCollection.attachments] Path "/data/attachments" is not writable! [401] wekan_1 | at new FilesCollection (packages/ostrio:files/server.js:354:15) wekan_1 | at module (models/attachments.js:52:15) wekan_1 | at fileEvaluate (packages/modules-runtime.js:336:7) wekan_1 | at Module.require (packages/modules-runtime.js:238:14) wekan_1 | at Module.moduleLink [as link] (/build/programs/server/npm/node_modules/meteor/modules/node_modules/@meteorjs/reify/lib/runtime/index.js:52:22) wekan_1 | at module (server/publications/attachments.js:1:24) wekan_1 | at fileEvaluate (packages/modules-runtime.js:336:7) wekan_1 | at Module.require (packages/modules-runtime.js:238:14) wekan_1 | at require (packages/modules-runtime.js:258:21) wekan_1 | at /build/programs/server/app/app.js:162362:1 wekan_1 | at /build/programs/server/boot.js:401:38 wekan_1 | at Array.forEach (<anonymous>) wekan_1 | at /build/programs/server/boot.js:226:21 wekan_1 | at /build/programs/server/boot.js:464:7 wekan_1 | at Function.run (/build/programs/server/profile.js:280:14) wekan_1 | at /build/programs/server/boot.js:463:13 { wekan_1 | isClientSafe: true, wekan_1 | error: 401, wekan_1 | reason: '[FilesCollection.attachments] Path "/data/attachments" is not writable!', wekan_1 | details: Error: EACCES: permission denied, mkdir '/data/attachments' wekan_1 | at Object.mkdirSync (fs.js:1014:3) wekan_1 | at new FilesCollection (packages/ostrio:files/server.js:348:10) wekan_1 | at module (models/attachments.js:52:15) wekan_1 | at fileEvaluate (packages/modules-runtime.js:336:7) wekan_1 | at Module.require (packages/modules-runtime.js:238:14) wekan_1 | at Module.moduleLink [as link] (/build/programs/server/npm/node_modules/meteor/modules/node_modules/@meteorjs/reify/lib/runtime/index.js:52:22) wekan_1 | at module (server/publications/attachments.js:1:24) wekan_1 | at fileEvaluate (packages/modules-runtime.js:336:7) wekan_1 | at Module.require (packages/modules-runtime.js:238:14) wekan_1 | at require (packages/modules-runtime.js:258:21) wekan_1 | at /build/programs/server/app/app.js:162362:1 wekan_1 | at /build/programs/server/boot.js:401:38 wekan_1 | at Array.forEach (<anonymous>) wekan_1 | at /build/programs/server/boot.js:226:21 wekan_1 | at /build/programs/server/boot.js:464:7 wekan_1 | at Function.run (/build/programs/server/profile.js:280:14) wekan_1 | at /build/programs/server/boot.js:463:13 { wekan_1 | errno: -13, wekan_1 | syscall: 'mkdir', wekan_1 | code: 'EACCES', wekan_1 | path: '/data/attachments' wekan_1 | }, wekan_1 | errorType: 'Meteor.Error' wekan_1 | }
Solution:
You have mounted a local directory as wekan data directory, for example like this in docker-compose.yml
:
wekan: image: quay.io/wekan/wekan /* ... */ environment: /*...*/ - WRITABLE_PATH=/data volumes: - ./wekan_data:/data
But this directory does not have the correct permissions set. You can fix it using this command on the directory (wekan_data
in this example):
sudo chown -R 999:999 wekan_data
After that, restart wekan
and the issue should be fixed.