MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    MM with Docker

    Scheduled Pinned Locked Moved Forum
    16 Posts 4 Posters 2.2k Views 4 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S Do not disturb
      sdetweil @RonR
      last edited by sdetweil

      @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 container

      ssh to your docker host (my synology nas, your pi)

      then

      docker exec -it mm bash 
      

      to 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 mm

      add MMM-Config on this whole process (clone/cd/npm install)
      then you won’t have to do this again

      also have to update the run/compose.yaml
      to add the extra ports for MMM-Config (see the readme)

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      1 Reply Last reply Reply Quote 1
      • R Offline
        RonR @sdetweil
        last edited by

        @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.

        S 1 Reply Last reply Reply Quote 0
        • S Do not disturb
          sdetweil @RonR
          last edited by

          @RonR

          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/configure
          

          only the QR code is displayed on the UI

          the module installer is at

          http://MM_IP_Address:MM_Port/installer
          

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          R 1 Reply Last reply Reply Quote 0
          • R Offline
            RonR @schlomm
            last edited by

            @schlomm Thanks, I understand, download new module files.

            Ron R

            1 Reply Last reply Reply Quote 0
            • R Offline
              RonR @sdetweil
              last edited by

              @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.

              S O 2 Replies Last reply Reply Quote 0
              • S Do not disturb
                sdetweil @RonR
                last edited by

                @RonR you weren’t looking there, no biggie…

                but your experience tells me I need to make it more clear…
                will update the doc…

                Sam

                How to add modules

                learning how to use browser developers window for css changes

                S 1 Reply Last reply Reply Quote 1
                • S Do not disturb
                  sdetweil @sdetweil
                  last edited by sdetweil

                  I added this section to the doc
                  after the parms and before the 1st screenshot
                  Screenshot at 2025-10-21 18-45-31.png

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

                  1 Reply Last reply Reply Quote 1
                  • O Offline
                    OrangeMirror @RonR
                    last edited by

                    @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.

                    S 1 Reply Last reply Reply Quote 0
                    • S Do not disturb
                      sdetweil @OrangeMirror
                      last edited by sdetweil

                      @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.js

                      all 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

                      Sam

                      How to add modules

                      learning how to use browser developers window for css changes

                      1 Reply Last reply Reply Quote 0
                      • 1
                      • 2
                      • 2 / 2
                      • First post
                        Last post
                      Enjoying MagicMirror? Please consider a donation!
                      MagicMirror created by Michael Teeuw.
                      Forum managed by Sam, technical setup by Karsten.
                      This forum is using NodeBB as its core | Contributors
                      Contact | Privacy Policy