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.

    New module installer

    Scheduled Pinned Locked Moved General Discussion
    51 Posts 7 Posters 12.7k Views 6 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 Offline
      sdetweil
      last edited by sdetweil

      There has been a lot of discussion for a while about the complexities of getting MM up and running…

      I think we need an end to end solution for modules… so… well… here it is

      see the post below as the implementation has changed
      https://forum.magicmirror.builders/post/123176

      happy installing!!!

      pics

      main page
      installer_top.png

      expanded category
      installer_expanded.png

      expanded module
      installer_module.png

      expanded unregistered section
      installer_unregistered.png

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      F 1 Reply Last reply Reply Quote 1
      • C Offline
        chrisfr1976
        last edited by

        @sdetweil it is running on my pi but until now i didn‘t need it. I have no space for a new module left ;)
        But i‘ll try tomorrow and give you a feedback.

        Regards, Chris.

        S 1 Reply Last reply Reply Quote 0
        • S Offline
          sdetweil @chrisfr1976
          last edited by

          @chrisfr1976 it takes space too

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          C 1 Reply Last reply Reply Quote 0
          • C Offline
            chrisfr1976 @sdetweil
            last edited by

            @sdetweil i hope that your installer can also uninstall a module … g

            Regards, Chris.

            S 1 Reply Last reply Reply Quote 0
            • S Offline
              sdetweil @chrisfr1976
              last edited by sdetweil

              @chrisfr1976 no, cannot uninstall. just remove the module folder

              from above and readme

              this will NOT uninstall modules
              

              Sam

              How to add modules

              learning how to use browser developers window for css changes

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

                @chrisfr1976 but if that is a requirement… it IS possible of course

                Sam

                How to add modules

                learning how to use browser developers window for css changes

                1 Reply Last reply Reply Quote 0
                • S Offline
                  sdetweil
                  last edited by sdetweil

                  I think this doesn’t work as an outside command… I mean TECHNICALLY it does,
                  but it depends on too much work for the user…
                  see the corrected implementation
                  https://forum.magicmirror.builders/post/123176

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

                  C 1 Reply Last reply Reply Quote 0
                  • C Offline
                    chrisfr1976 @sdetweil
                    last edited by

                    @sdetweil
                    Hi,
                    yesterday I was off. Now I tried to install it but I got this error:

                    chris@MagicPi:~ $ bash -c  "$(curl -sL https://raw.githubusercontent.com/sdetweil/installer/refs/heads/main/installit)"
                    Klone nach 'installer' ...
                    remote: Enumerating objects: 257, done.
                    remote: Counting objects: 100% (24/24), done.
                    remote: Compressing objects: 100% (18/18), done.
                    remote: Total 257 (delta 10), reused 17 (delta 6), pack-reused 233 (from 1)
                    Empfange Objekte: 100% (257/257), 1005.39 KiB | 4.31 MiB/s, fertig.
                    L?se Unterschiede auf: 100% (151/151), fertig.
                    Hinweis: Es wird davon abgeraten zu Pullen, ohne anzugeben, wie mit abweichenden
                    Hinweis: Branches umgegangen werden soll. Sie k?nnen diese Nachricht unterdr?cken,
                    Hinweis: indem Sie einen der folgenden Befehle ausf?hren, bevor der n?chste Pull
                    Hinweis: ausgef?hrt wird:
                    Hinweis: 
                    Hinweis:   git config pull.rebase false  # Merge (Standard-Strategie)
                    Hinweis:   git config pull.rebase true   # Rebase
                    Hinweis:   git config pull.ff only       # ausschlie?lich Vorspulen
                    Hinweis: 
                    Hinweis: Sie k?nnen statt "git config" auch "git config --global" nutzen, um
                    Hinweis: einen Standard f?r alle Repositories festzulegen. Sie k?nnen auch die
                    Hinweis: Option --rebase, --no-rebase oder --ff-only auf der Kommandozeile nutzen,
                    Hinweis: um das konfigurierte Standardverhalten pro Aufruf zu ?berschreiben.
                    Do you want execute the module installer now? (y/N)?y
                    ./installer.sh: Zeile 32: cd: ../../modules/MMM-Config: Datei oder Verzeichnis nicht gefunden
                    cp: der Aufruf von stat f?r 'module_schema_template.json' ist nicht m?glich: Datei oder Verzeichnis nicht gefunden
                    node:internal/modules/cjs/loader:1251
                      throw err;
                      ^
                    
                    Error: Cannot find module '/home/chris/MagicMirror/installers/formatModuleInfo.js'
                        at Module._resolveFilename (node:internal/modules/cjs/loader:1248:15)
                        at Module._load (node:internal/modules/cjs/loader:1074:27)
                        at TracingChannel.traceSync (node:diagnostics_channel:315:14)
                        at wrapModuleLoad (node:internal/modules/cjs/loader:217:24)
                        at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:166:5)
                        at node:internal/main/run_main_module:30:49 {
                      code: 'MODULE_NOT_FOUND',
                      requireStack: []
                    }
                    
                    Node.js v22.9.0
                    ./installer.sh: Zeile 68: ./install_module.sh: Datei oder Verzeichnis nicht gefunden
                    node:internal/modules/cjs/loader:1251
                      throw err;
                      ^
                    
                    Error: Cannot find module '/home/chris/MagicMirror/installers/runserver.js'
                        at Module._resolveFilename (node:internal/modules/cjs/loader:1248:15)
                        at Module._load (node:internal/modules/cjs/loader:1074:27)
                        at TracingChannel.traceSync (node:diagnostics_channel:315:14)
                        at wrapModuleLoad (node:internal/modules/cjs/loader:217:24)
                        at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:166:5)
                        at node:internal/main/run_main_module:30:49 {
                      code: 'MODULE_NOT_FOUND',
                      requireStack: []
                    }
                    
                    Node.js v22.9.0
                    

                    Regards, Chris.

                    1 Reply Last reply Reply Quote 0
                    • S Offline
                      sdetweil
                      last edited by sdetweil

                      @chrisfr1976

                      thanks for your patience… I think this will be better

                      I have merged the installer function into the MMM-Config module

                      currently the installer function is in a separate branch (with_installer) while we test it out

                      note: if you are using docker, then these steps need to be done INSIDE the running container, using
                      docker exec -it mm bash
                      to get to a commandline inside the container
                      AFTER using ssh to get to the docker host commandline

                      if you don’t have MMM-Config

                      cd ~/MagicMirror/modules
                      git clone https://github.com/sdetweil/MMM-Config
                      cd MMM-Config
                      git checkout with_installer
                      npm install
                      

                      see the readme above on how to add this module to your config.js

                      if you already have MMM-Config

                      cd ~/MagicMirror/modules/MMM-Config
                      git pull
                      git checkout with_installer
                      npm install
                      

                      no configuration changes are required

                      restart your MagicMirror instance

                      for docker based MM instances, the steps are the same
                      I notice that some of the files in the git pull will be marked as changed,
                      altho its only the permissions
                      so erase those files and then git pull
                      and then checkout the with_installer branch
                      etc

                      Using the installer

                      use this url

                      http://mm_server:MM_port/installer
                      

                      and you will get the installer module selection page

                      see the readme for usage

                      after pushing the install selected modules button and the individual module installs complete,
                      the MMM-Config configuration page will replace the installer page you had open

                      when you are done configuring the modules, press Save, Create config
                      and the current MMM-Config page will be closed, and your MM instance will be restarted
                      (in most cases)

                      from the readme

                      MMM-Config will try to restart your MagicMirror system after configuration is complete
                      
                      if the MagicMirror instance is configured to auto restart due to config.js, that will happen naturally
                      
                      if the MagicMirror instance is NOT configured to auto restart due to config.js, then the MMM-Config **restart option** will be used to restart
                      
                      if the MagicMirror instance is in a docker container, like khassel's then the MagicMirror process will be killed, causing the container to restart
                      
                      if none of those options work, then you will have to restart the MagicMirror instance manually (same as if you modified config.js on your own)
                      

                      Sam

                      How to add modules

                      learning how to use browser developers window for css changes

                      plainbrokeP 1 Reply Last reply Reply Quote 0
                      • plainbrokeP Offline
                        plainbroke @sdetweil
                        last edited by plainbroke

                        @sdetweil
                        All I am getting is this:

                        “Select all the modules you would like to install”

                        Nothing else it is just white below that …

                        Slow learner. But trying anyways.

                        S 1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 3
                        • 4
                        • 5
                        • 6
                        • 1 / 6
                        • 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