Read the statement by Michael Teeuw here.
MM docker container problem with mac and linux
-
Hi i have problem with magic mirror. I started it inside docker container on rpi the MM is working ok. When i try to use docker container on mac or linux there will be no errors but also there will be no MM page under url.

docker-compose up logs
docker-compose up Starting blackmirror ... done Attaching to blackmirror blackmirror | Starting MagicMirror: v2.1.3 blackmirror | Loading config ... blackmirror | Loading module helpers ... blackmirror | No helper found for module: alert. blackmirror | Initializing new module helper ... blackmirror | Module helper loaded: updatenotification blackmirror | No helper found for module: clock. blackmirror | All module helpers loaded. blackmirror | Starting server on port 8080 ... blackmirror | You're using a full whitelist configuration to allow for all IPs blackmirror | Server started ... blackmirror | Connecting socket for: updatenotification blackmirror | Sockets connected & modules started ... blackmirror | blackmirror | Ready to go! Please point your browser to: http://localhost:8080docker-compose.yaml
version: '3' services: magic-mirror: image: bastilimbach/docker-magicmirror container_name: blackmirror restart: always volumes: - ./config:/opt/magic_mirror/config - ./modules:/opt/magic_mirror/modules ports: - 8082:8080config.js
var config = { address: "localhost", port: 8080, ipWhitelist: [], language: "en", timeFormat: 24, units: "metric", modules: [ { module: "alert", }, { module: "updatenotification", position: "top_bar" }, { module: "clock", position: "top_left" }, ] }; /*************** DO NOT EDIT THE LINE BELOW ***************/ if (typeof module !== "undefined") {module.exports = config;} -
@tomasz2101 Try to set
ipWhitelistto[ "127.0.0.1", "::ffff:127.0.0.1", "::1" ]. If you want to access the mirror from your Linux or Mac machine add their respective IPs too. -
@raywo I know that this is strange behaviour of MM and your fix is not according to documentation. I tried that but that fix doesn’t work at all. Additional think is that I’am running container on my mac and i cannot access MM from mac. 192.168.1.176 is my mac local ip. I want to develop new module but i don’t want to do this on rpi.
var config = { address: "localhost", port: 8080, ipWhitelist: [ "127.0.0.1", "::ffff:127.0.0.1", "::1", "192.168.1.176"], language: "en", timeFormat: 24, units: "metric", modules: [ { module: "alert", }, { module: "updatenotification", position: "top_bar" }, { module: "clock", position: "top_left" }, ] }; /*************** DO NOT EDIT THE LINE BELOW ***************/ if (typeof module !== "undefined") {module.exports = config;} -
@tomasz2101 Why is that not according to documentation?
I have a simliar setup like you. I run docker on my mac and access the mirror instance via my mac it works just fine.Maybe you should try it without creating your own docker image. Try the solution as described in the MagicMirror documentation.
-
@raywo i tried
docker run -d \ --publish 8080:8080 \ --restart always \ --volume ~/magic_mirror/config:/opt/magic_mirror/config \ --volume ~/magic_mirror/modules:/opt/magic_mirror/modules \ --name magic_mirror \ bastilimbach/docker-magicmirrordocker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 69efe710da85 bastilimbach/docker-magicmirror "/opt/magic_mirror/d…" Less than a second ago Up 2 seconds 0.0.0.0:8080->8080/tcp magic_mirrordocker logs -f magic_mirror
Starting MagicMirror: v2.1.3 Loading config ... WARNING! Could not find config file. Please create one. Starting with default configuration. Loading module helpers ... Initializing new module helper ... Module helper loaded: updatenotification No helper found for module: helloworld. All module helpers loaded. Starting server on port 8080 ... Server started ... Connecting socket for: updatenotification Sockets connected & modules started ... Ready to go! Please point your browser to: http://localhost:8080cat config.js
var config = { address: "localhost", // Address to listen on, can be: port: 8080, ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1", "192.168.1.176"], language: "en", timeFormat: 24, units: "metric", modules: [ { module: "clock", position: "top_left" }, ] };When im trying to access url http://localhost:8080/ in incognito i got always “localhost didn’t send any data” and there is no information in container about trying to access pare.
-
@tomasz2101 This looks okay to me. Although the log states
"WARNING! Could not find config file. Please create one. Starting with default configuration.".
Where did you put yourconfig.jsfile? Is it in~/magic_mirror/configon your mac? -
@raywo The config.js.sample was created automatically. After that i copy it to config.js and restarted container but logs show:
Ready to go! Please point your browser to: http://localhost:8080 Starting MagicMirror: v2.1.3 Loading config ... Loading module helpers ... No helper found for module: clock. All module helpers loaded. Starting server on port 8080 ... Server started ... Sockets connected & modules started ... Ready to go! Please point your browser to: http://localhost:8080
-
@tomasz2101 And? Does it work?
-
@raywo no
-
@tomasz2101 In my
config.jsI put""in theaddresssetting. I also have"::ffff:192.168.2.1/120"included in myipWhitelist. My home network is192.168.2.0.my
config.jsvar config = { address: "", // - "", "0.0.0.0", "::" to listen on any interface // Default, when address config is left out, is "localhost" port: 8080, ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1", "::1", "::ffff:192.168.2.1/120", "192.168.2.110", "172.17.0.1"] /* module config */ }
