Read the statement by Michael Teeuw here.
MM with Docker
-
Hi, I’m trying to get MM to run on Docker. Right now I’m practicing on my laptop. I have Docker installed and working and have been through the start of their tutorial. I’m trying to figure out how to download the image from https://github.com/khassel/magicmirror which appears to be the best one of the list I found. I tried Docker pull and got an error: invalid reference format. I cloned the image to my computer and tried to run build but it failed because of no dockerfile. I haven’t the least idea what base image it would use or any dependencies needed.
I’m new fairly new to MM and want to put it on an RPI5 with a 256Gb SSD, planning on running as ServerOnly, so I want to use docker to be able to do something beside run MM like maybe a small NAS. I know I’m pushing my envelope but at my age, 79, I’m not sure how much envelope I have left.
Any helpful hints are greatly appreciated.
Ron R
-
@RonR see the doc?
https://khassel.gitlab.io/magicmirror/installation/#installation-of-this-repository
I’m 74 so you can do it!!..run the install script and then let docker compose do all the image/container work
I am running a synology NAS with MM (and a bunch of other things) in docker
-
@RonR and once MagicMirror on docker is running, to ease the troubles of installing and configuring,
If you install one module, do my Mmm-ConfigIt will allow you to install and configure MagicMirror and modules without editing config.js or dealing worth the docker complexities
-
@sdetweil Sam, Thanks for the pointer. I looked for the instructions but missed them some how. Tried to install a different image yesterday but it crashed with missing files. I’ll let you know how this works out for me. I’m practicing right now before I try to do it on my RPI5.
-
@sdetweil Sam, I saw your module yesterday while browsing the 3rd party modules list. I will definitely take download your module. Thanks.
-
@sdetweil Sam, It is working WOW. :) Now the question is can I move the modules I have on the old system over to this one and modifiy the config file? I’m going to install your config module also.
Ron
-
@RonR Generally speaking yes, but I would suggest to redownload / clone your modules to have the most-up-to-date version. Apart from this you also need to run the corresponding
npm installfor each of your modules… -
@RonR you can move the config file.
the modules are a little tougher under docker.
the git clone and npm install for each needs to be done from INSIDE the docker containerssh to your docker host (my synology nas, your pi)
then
docker exec -it mm bashto get to the commandline inside the container
then cd modules
then do the normal git clone/cd/npm install cycle for each module
then exit to leave the container, and
cd ~/magicmirror/run
docker compose restart mmadd MMM-Config on this whole process (clone/cd/npm install)
then you won’t have to do this againalso have to update the run/compose.yaml
to add the extra ports for MMM-Config (see the readme) -
@sdetweil Sam, I installed your config module but it does not display on the screen. I tried moving it to the bottom-right but no difference. I tried to reinstall it w/ npm install, no help.
This is the portion of the config.js for MMM-config. I added the restart entry because I wanted it to restart after an change to the file.
{
module:“MMM-Config”,
position:“bottom_right”,
// the QR code (if requested) will appear here
config:{
restart:“docker”,
}
{,As far as I know I have followed all the directions.
-
from the doc on parms
showQR OPTIONAL false Show a QR code on the MM screen to allow quick access to the configuration form ===> Otherwise, use a browser to open http://MM_IP_Address:MM_Port/configureonly the QR code is displayed on the UI
the module installer is at
http://MM_IP_Address:MM_Port/installer -
@schlomm Thanks, I understand, download new module files.
Ron R
-
@sdetweil Sam, I can’t believe how simple it was and I just over looked it in the docs. Thanks for being so patient with me.
-
@RonR you weren’t looking there, no biggie…
but your experience tells me I need to make it more clear…
will update the doc… -
I added this section to the doc
after the parms and before the 1st screenshot

-
@RonR hello. I did the same a while back and @sdetweil 's help and contribution is great!
I was trying to run two different MMs in two containers. The 2nd one was always seeing the same configs as the first(or something like that) even though though I was able to configure two different ports, one for each, but wasn’t able to run two different screen layouts.
This is what docker spooked be able to enable. Multiple parallel setups, then you just run a series of screens in kiosk mode and you can display the same setup on multiple locations and screens.
Maybe I’ll try again. I pasted about it here, and Sam did try to help. I gave up on it.
-
@OrangeMirror the current docker setup will only work for multiple instances
IF
you use the MM_CONFIG_FILE environment variable to run instances off different config files,
or
the MM_PORT env variable to override the port if using the same config.jsall the files will come from the ONE folder tree ~/magicmirror
so this means you would have to setup multiple entries in the compose.yaml to launch multiple instances (with the different config parms)
You have to change the container name too
this is because all the DATA used by the container is external (on docker host filesystem) and not IN the container
an example NOT using docker, but same idea here
https://docs.magicmirror.builders/configuration/introduction.html#advanced-configuration-and-frequently-asked-how-to-configure-examples
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login