I think I found the solution: When starting MM inside Docker, I cannot add the true address (172.1.0.9) into the config file but leave it like this:
address: "", // Localhost
I can open this Docker-hosted Magic Mirror Website directly using a browser without problem.
I am not yet versed in JS, but I had a look at the config.js in the clientonly-folder: There is this section, where the config from the remote server is received and passed along as environment variable:
getServerAddress();
(config.address && config.port) || fail();
// Only start the client if a non-local server was provided
if (["localhost", "127.0.0.1", "::1", "::ffff:127.0.0.1", undefined].indexOf(config.address) === -1) {
getServerConfig(`http://${config.address}:${config.port}/config/`)
.then(function (config) {
// Pass along the server config via an environment variable
var env = Object.create(process.env);
var options = { env: env };
config.address = config.address;
config.port = config.port;
env.config = JSON.stringify(config);
It seems, that the address information received from the server (which is empty in my case) overwrites the config.address variable I passed along when starting node clientonly --address 192.0.0.95 --port 9090. I changed the code manually and it worked :slightly_smiling_face:
@MichMich I have added a pull request on Github to help others with the same problem (https://github.com/MichMich/MagicMirror/pull/1403)
PS: The error message describe above remains, but the Magic Mirror shows up without problem.