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

MM ClientOnly + Docker as a server on the same machine



  • Hallo,
    I need to run MagicMirror as a server and client at the same raspberry.
    For this purposes I have:

    1. installed MM server docker container (as per https://github.com/bastilimbach/docker-MagicMirror) . It works fine and accessible through browser at 172.17.0.1 and at localhost.
    2. installed MM and through automatic installation
    bash -c "$(curl -sL https://raw.githubusercontent.com/MichMich/MagicMirror/master/installers/raspberry.sh)"
    
    1. run MM client according to the manual:
    npm start && node clientonly --address 172.17.0.1 --port 8080
    

    Here is the log

    pi@raspberrypi:~/MagicMirror $ npm start && node clientonly --address 172.17.0.1 --port 8080
    
    > magicmirror@2.7.1 start /home/pi/MagicMirror
    > sh run-start.sh
    
    Starting MagicMirror: v2.7.1
    Loading config ...
    Loading module helpers ...
    No helper found for module: alert.
    Initializing new module helper ...
    Module helper loaded: updatenotification
    No helper found for module: clock.
    Initializing new module helper ...
    Module helper loaded: calendar
    No helper found for module: compliments.
    No helper found for module: currentweather.
    No helper found for module: weatherforecast.
    Initializing new module helper ...
    Module helper loaded: newsfeed
    All module helpers loaded.
    Starting server on port 8080 ... 
    You're using a full whitelist configuration to allow for all IPs
    Server started ...
    Connecting socket for: updatenotification
    Connecting socket for: calendar
    Starting node helper for: calendar
    Connecting socket for: newsfeed
    Starting module: newsfeed
    Sockets connected & modules started ...
    Whoops! There was an uncaught exception...
    { Error: listen EADDRINUSE 0.0.0.0:8080
        at Server.setupListenHandle [as _listen2] (net.js:1330:14)
        at listenInCluster (net.js:1378:12)
        at doListen (net.js:1492:7)
        at process._tickCallback (internal/process/next_tick.js:63:19)
        at Function.Module.runMain (internal/modules/cjs/loader.js:755:11)
        at startup (internal/bootstrap/node.js:241:19)
        at bootstrapNodeJSCore (internal/bootstrap/node.js:579:3)
      errno: 'EADDRINUSE',
      code: 'EADDRINUSE',
      syscall: 'listen',
      address: '0.0.0.0',
      port: 8080 }
    MagicMirror will not quit, but it might be a good idea to check why this happened. Maybe no internet connection?
    If you think this really is an issue, please open an issue on GitHub: https://github.com/MichMich/MagicMirror/issues
    Launching application.
    ^CShutting down server...
    
    pi@raspberrypi:~/MagicMirror $
    

    config.js is configured as the following:

    var config = {
    	address: "0.0.0.0", // Address to listen on, can be:
    	                      // - "localhost", "127.0.0.1", "::1" to listen on loopback interface
    	                      // - another specific IPv4/6 to listen on a specific interface
    	                      // - "", "0.0.0.0", "::" to listen on any interface
    	                      // Default, when address config is left out, is "localhost"
    	port: 8080,
    	ipWhitelist: [], // Set [] to allow all IP addresses
    	                                                       // or add a specific IPv4 of 192.168.1.5 :
    	                                                       // ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.1.5"],
    	                                                       // or IPv4 range of 192.168.3.0 --> 192.168.3.15 use CIDR format :
    	                                                       // ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.3.0/28"],
    

    Could anyone tell me what should i look at?
    I need to run both (1) MM server in a docker container and (2) MM client at the same Raspberry.



  • @Serge npm start, starts the full system, and node clientonly starts the client

    But u have a server already using docker so, only do node clientonly


Log in to reply