MagicMirror Servermode on Synology DS
I wonder if it’s possible, to get the MagicMirror Servermode running on a Synology Diskstations Webserver. I know that MM² comes with a build in WebServer, but I would like to setup more than one MM device in the future and would like to keep the computing and background tasks on a central platform (my Syn NAS). Is there a way to realize it? As I’m a beginner when it comes to shell commands, it would be wonderful, if I could get my hands on some kind of (step-by-step) tutorial.
Well, you need node.js on your Synology webserver. Searching the web it seems to be possible, but the node.js addon I found was rather old. Give it a try, you can’t break it ;)
@AnyKey It looks like you can. A quick perusal of the Synology forums found that a few users have been using Nodejs on their devices. Off the top of my head, the process to manually install MagicMirror on a non-Raspberry system is:
- install Nodejs & NPM (here’s a hint)
- Install git and clone the repository.
npm installin the MagicMirror folder.
- Start node and it will provide a webserver.
That should get you started. You may have to switch the port that Node uses for the web server, but that’s trivial.
Start node and it will provide a webserver.
Thanks for your help so far (both of you!)
- There is a Nodejs package distributed by synology. installed it (ckeck)
- I found a package “Gitlab” and managed to install it. Rep cloned (check)
- Running nmp install, I got some warnings, of course I didn’t take screenshots (check, I think)
- “node serveronly” seems to work. But I’m not able to connect to it over diskstation:8080. Besides that, I haven’t figured out how to change the config file yet. Have to do some more research.
@AnyKey To my knowledge, warnings can be safely ignored. It sounds like you’re most of the way there.
For #4, did you adjust the
ipWhitelistparameter in your
config.js? I would think that by default, it would be configured to allow browser access only by the Diskstation. You’ll have to change that to include either your entire internal network or your specific machines (depending on your application).
@bhepler I haven’t managed to change the ipwhitelist (and other configs) yet, because I don’t know how to access the config.js file. After installing git, the next steps had to be done via the docker integrated ssh client, because I wasn’t able to access the git container (files in it) from my laptop using putty.
But I couldn’t find a command to open the js-file in some sort of editor. It was late anyway, so I decided to sleep over it and I will have another try this afternoon.
I’ve got an Xpenology running so following this topic
@AnyKey Heh. I’ve been there.
First, you’ll need to be sure that the
config.jsfile exists. A manual installation generally does not copy the sample file into the final destination, so you’ll need to do it yourself. From the MagicMirror folder,
cp config/config.js.sample config/config.jsshould put the file in the proper place. At that point, it’s ready for editing.
The Unix-like system that the Diskstation uses must have an editor of some form on there. If not nano, then VIM or VI. From the MagicMirror directory, you should be able to type
vi config/config.jsand open up the config file.
Absolute worst case scenario: you can copy & paste the config.js contents from your desktop machine to the file via PuTTY. Have the config file open on your desktop, select all, copy to clipboard. In the PuTTY window, navigate to the MagicMirror/config folder and enter
cat > config.jsand then press enter. At this point, everything you type will be in the file… so just right-click with your mouse to paste the clipboard into the file. When it finishes, hit enter one more time and the
ctrl+d(control D). That will save the contents.
@bhepler The config.js didn’t existed after the install process, so I copied it, like you mentioned. The real stungle was to find an editor to open and edit the config file. Nano is not supported, that was the first (and only editor) editor I’ve tried. When I’m home, I will test your other suggestions.
@AnyKey any text editor will be able to read .js files.