MagicMirror² v2.7.0 is available! For more information about this release, check out this topic.

What difference does node server-only make in operation?



  • Hi,

    As I only have a Pi Zero at the moment I am just wondering what is the difference and advantage of electron rather than say chromium browser.

    If it just bloat and the electron framework is just lightweight or are there extra advantages and calls via the client script?


  • Project Sponsor

    @stuartiannaylor - The standard MagicMirror installation is basically a web application that is displayed locally. The NPM application runs in the background and provides the data. It’s basically running a website. Electron is responsible for displaying that data on the screen. It does the work of combining HTML, CSS and Javascript into a screen’s worth of displayed information. NPM is the application layer, Electron is the presentation layer. On a full Raspi, electron is used because it skips all the unnecessary stuff like bookmarks, menus, borders, scroll bars, etc.

    Server-only mode is just running the NPM application. Essentially, you’re just hosting the website and not depending upon Electron to present the information on the screen. Since you need something to actually show the data, you can use the built-in browser for the Pi Zero, which is Chromium. You’ll have to configure it a bit to hide the menu, scroll bars and the like, but it should work.

    Note: Because the MM application is basically a website, if you open up the IP Whitelist, you can view the magic mirror interface from any web browser on your network.



  • Many thanks got similar great info from discord as never have patience, apols.

    One last thing as I said because I have done a little script for Pi Zero https://github.com/StuartIanNaylor/MagicMirrorPi0StretchLite that has chromium with all the commandline settings need for the above.
    I said to Mich I was just looking @ Selenium as thinking of doing a Chromium watchdog and he suggest mm_watchdog.
    Then I barbled on but with hindsight does mm_watchdog also work with standalone chromium?

    As if so all I have to do is work out why plymouth confuses me so much as to if it will work or not and maybe show on whatever chance that might maybe 🙂

    Thanks for a great explanation though.

    One more question is how do you mark as solved?