Read the statement by Michael Teeuw here.
MMM-CalDAV
-
and do you have any clue where the misstake is? and how can i fix it?
-
@caw i am going to guess
remove the dot in front of SYNOLOGY
and in the MagicMirror config mke sure there is a space where you see the 20, or make it %20one change at a time
-
@sdetweil i dont have a dot in front of the Prefix
module :“MMM-CalDAV”,
config: {
servers: [
{
envPrefix: “SYNOLOGY_”,2024/09/06 01:23:15 stderr path: ‘/opt/magic_mirror/modules/MMM-CalDAV/service/.SYNOLOGY_Simon.ics’
2024/09/06 01:23:15 stderr syscall: ‘open’,
2024/09/06 01:23:15 stderr code: ‘EACCES’,
2024/09/06 01:23:15 stderr errno: -13,
2024/09/06 01:23:15 stderr at async saveIcs (/opt/magic_mirror/modules/MMM-CalDAV/node_helper.js:76:7) {
2024/09/06 01:23:15 stderr at async Object.writeFile (node:internal/fs/promises:1212:14)
2024/09/06 01:23:15 stderr at async open (node:internal/fs/promises:639:25)
2024/09/06 01:23:15 stderr [2024-09-06 01:23:15.709] [ERROR] Error: EACCES: permission denied, open ‘/opt/magic_mirror/modules/MMM-CalDAV/service/.SYNOLOGY_Simon.ics’
2024/09/06 01:23:15 stderr [2024-09-06 01:23:15.707] [ERROR] Whoops! There was an uncaught exception…2024/09/06 01:23:14 stderr at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
2024/09/06 01:23:14 stderr at NodeHelper.checkFetchStatus (/opt/magic_mirror/js/node_helper.js:110:9)
2024/09/06 01:23:14 stderr [2024-09-06 01:23:14.687] [ERROR] Calendar Error. Could not fetch calendar: http://localhost:8080/CALDAV/SYNOLOGY_Simon.ics Error: Not Found2024/09/06 01:23:14 stdout [2024-09-06 01:23:14.671] [LOG] [CALDAV] /opt/magic_mirror/modules/MMM-CalDAV/service/.SYNOLOGY_Simon.ics is not found.
2024/09/06 01:23:14 stdout [2024-09-06 01:23:14.606] [LOG] Create new calendarfetcher for url: http://localhost:8080/CALDAV/SYNOLOGY_Simon.ics - Interval: 3600000
2024/09/06 01:23:14 stdout [2024-09-06 01:23:14.539] [LOG] [CALDAV] Fetching SYNOLOGY_ : caldav … -
@caw said in MMM-CalDAV:
@sdetweil i dont have a dot in front of the Prefix
module :“MMM-CalDAV”,
config: {
servers: [
{
envPrefix: “SYNOLOGY_”,2024/09/06 01:23:15 stderr path: ‘/opt/magic_mirror/modules/MMM-CalDAV/service/.SYNOLOGY_Simon.ics’
2024/09/06 01:23:15 stderr syscall: ‘open’,
2024/09/06 01:23:15 stderr code: ‘EACCES’,
2024/09/06 01:23:15 stderr errno: -13,
2024/09/06 01:23:15 stderr at async saveIcs (/opt/magic_mirror/modules/MMM-CalDAV/node_helper.js:76:7) {
2024/09/06 01:23:15 stderr at async Object.writeFile (node:internal/fs/promises:1212:14)
2024/09/06 01:23:15 stderr at async open (node:internal/fs/promises:639:25)
2024/09/06 01:23:15 stderr [2024-09-06 01:23:15.709] [ERROR] Error: EACCES: permission denied, open ‘/opt/magic_mirror/modules/MMM-CalDAV/service/.SYNOLOGY_Simon.ics’
2024/09/06 01:23:15 stderr [2024-09-06 01:23:15.707] [ERROR] Whoops! There was an uncaught exception…i dont know what caldav wants in its setup,
sorry. you’ll have to wait for @MMRIZE to help -
[ERROR] Error: EACCES: permission denied, open ‘/opt/magic_mirror/modules/MMM-CalDAV/service/.SYNOLOGY_Simon.ics’
I’m not familiar with the Docker setting. Anyway, it seems to be a permission issue. The docker container creation and execution might be performed by different accounts. Or you may need proper permission for those files or directories. However, I have no idea of Docker environment, so that’s all I can say.
-
[ERROR] Error: EACCES: permission denied, open ‘/opt/magic_mirror/modules/MMM-CalDAV/service/.SYNOLOGY_Simon.ics’
how did you start the container? Please provide full
docker run ...command or compose file. -
Hello, I am new and wondering what do you name the file env.example to? Second What lines need to be added to the /config/config.js file?
Thanks -
@danny607 the env file name is typically
.envnote the leading dot
the linux file systems do not have a flag for hidden, so by convention anything with a leading . (dot) will not be shown in file lists unless explicitly requested
-
so looking at the code, this module will write out the constructed ICAL format data to
const filePath = path.resolve(__dirname, 'service', '.' + fileName)notice the dot… in linux =by convention, file/folder names that start with dot are not shown unless explicitly requested… (making them hidden ‘most’ of the time
SO, the code above is trying to USE a directory ‘service’ (part of this module repo)
in THIS module folder… but write to it…@karsten13 is the docker volume for where modules are located mapped read/write?? (the compose file doesn’t say)
-
@sdetweil said in MMM-CalDAV:
@karsten13 is the docker volume for where modules are located mapped read/write?? (the compose file doesn’t say)
see docs
rw: Read and write access. This is the default if none is specified. -
@karsten13 thats what I thought
@caw can you ssh logon to your synology and execute a docker command
docker inspect magicmirrorscroll up to look at the mounts section
(this is from a different container, as I don’t have one running MM)Mounts": [ { "Type": "volume", "Name": "94f89b1076c681a8dd32a7863d7a867e2077849f0fc53091062aae3797433919", "Source": "/var/lib/docker/volumes/94f89b1076c681a8dd32a7863d7a867e2077849f0fc53091062aae3797433919/_data", "Destination": "/config", <---- check for /opt/magic_mirror/modules "Driver": "local", "Mode": "", "RW": true, <------------ check this , should be true "Propagation": "" },also, how (from where, as what userid?) did you git clone the module, and npm install?
another docker command
docker exec magicmirror ls /opt/magic_mirror/modules -laF
-
i used:
docker run -d --user root --name magicmirror
-p 8036:8080
-v /volume1/docker/magicmirror/config:/opt/magic_mirror/config
-v /volume1/docker/magicmirror/modules:/opt/magic_mirror/modules
-v /volume1/docker/magicmirror/customcss:/opt/magic_mirror/customcss
-e TZ=Europe/Berlin
–restart always
registry.gitlab.com/khassel/magicmirror -
@caw from synology ssh terminal window do
ls /volume1/docker/magicmirror -laF -
-
@caw ok now need to look inside modules
ls -laF /volume1/magicmirror/modules
and in the module folder
ls -laF /volume1/magicmirror/modules/MMM-CalDAVwe did not check INSIDE the MMM-CalDAV/service folder to see if there is an existing file that might be overwritten (with the wrong permissions)
-
it´s in the /volume1/docker/magicmirror/modules
-
@caw ok, the docker container is running as user/group 1000/1000
so Simon and users is neither of those
and linux permissions are a set of values, 3 flags per
user – this user number/name (Simon)
group --if the user is part of the named group (users)
other – permissions for any user NOT in the two choices abovethe permissions shown
user = rwx // user can read( r) write(w) and execute(x)
group = r-x // group can read( r) and execute(x)
other = r-x // all others can read ( r) and execute(x)or 755
if you fix the permissions to 757
user rwx
group r-x
other rwxor 775 (probably better, not allow ‘any’ other…)
user rwx
group rwx
other r-xthen other (1000) will be allowed to write to the folder (service folder)
-
so the permission error is gone but the *ics is still not saved
LOG attached
-
@caw can you show all the calDAV messages…
last says fetching
but the prior says not found… -
@caw
I cannot say anything without the full log. But at the first execution, ics would not be written yet, (calendar module is so fast than CalDAV’s connection and parsing) so just wait for the next cycle to finish serving, or just stop and rerun MM. From the second execution, ics will be served.

Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login


