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.

    How to update.

    Scheduled Pinned Locked Moved Tutorials
    35 Posts 21 Posters 93.0k Views 20 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.
    • B Offline
      Binog
      last edited by

      But is there a way (a sh-script) to update MM and all (!) of the installed (different) modules in a batch. I now do have to go through all the directories recursively. That takes lots of time and is quite annoying. Any idea?
      Thx Jimmy

      1 Reply Last reply Reply Quote 0
      • I Offline
        izanbard
        last edited by izanbard

        I use this script, which comes with no guarantee:

         #!/usr/bin/env bash
        
        cd /home/pi/MagicMirror
        echo "######### CHECKING MAGIC MIRROR ##########"
        git fetch
        if [ $(git rev-parse HEAD) != $(git rev-parse @{u}) ]
        then
            echo "######### UPGRADING MAGIC MIRROR #########"
            git pull
            npm install
        else
            echo "######## NO UPGRADE REQUIRED #########"
        fi
        echo ""
        
        cd modules
        
        for directory in *; do
            if [[ -d ${directory} && ${directory} != "node_modules" && ${directory} != "default" ]]; then
                echo "######### CHECKING ${directory} ##########"
                cd ${directory}
                git fetch
                if [ $(git rev-parse HEAD) != $(git rev-parse @{u}) ]; then
                    echo "######### UPGRADING ${directory} #########"
                    git pull
                    if [[ -e "package.json" && -f "package.json" ]]; then
                        npm install
                    fi
                else
                    echo "######## NO UPGRADE REQUIRED #########"
                fi
                echo ""
                cd ..
            fi
        done
        
        SnilleS johnnyboyJ R UnboredU 6 Replies Last reply Reply Quote 4
        • SnilleS Offline
          Snille Module Developer @izanbard
          last edited by

          @izanbard Thank you for this! :)

          If you cant find it, make it and share it!
          Modules: MMM-homeassistant-sensors, MMM-Modulebar, MMM-Profilepicture, MMM-Videoplayer

          1 Reply Last reply Reply Quote 0
          • B Offline
            Binog
            last edited by

            Thank You, awesome !

            1 Reply Last reply Reply Quote 0
            • johnnyboyJ Offline
              johnnyboy @izanbard
              last edited by

              This post is deleted!
              1 Reply Last reply Reply Quote 0
              • SnilleS Offline
                Snille Module Developer @izanbard
                last edited by Snille

                @izanbard Hello, added a restart of the mirror (via pm2) if an npm install has been done and also added “–production” to the npm install command. Sometimes the module-developer have lot’s of extra stuff added in the package list just for developing. :)
                I’m currently now running this script via CRON every night. :)

                #!/usr/bin/env bash
                
                updated=false
                
                cd /home/pi/MagicMirror
                echo "Checking for MagicMirror updates."
                git fetch
                if [ $(git rev-parse HEAD) != $(git rev-parse @{u}) ]
                then
                    echo "Found, updating..."
                    git pull
                    npm install
                    updated=true
                    echo "Update done."
                else
                    echo "No update needed."
                fi
                echo ""
                
                cd modules
                
                for directory in *; do
                    if [[ -d ${directory} && ${directory} != "node_modules" && ${directory} != "default" ]]; then
                        echo "Checking for ${directory} updates."
                        cd ${directory}
                        git fetch
                        if [ $(git rev-parse HEAD) != $(git rev-parse @{u}) ]; then
                            echo "Found, updating ${directory}..."
                            git pull
                            if [[ -e "package.json" && -f "package.json" ]]; then
                                echo "package.joson changed for ${directory}, installing..."
                                npm install --production 
                                updated=true
                                echo "Update done."
                            fi
                        else
                            echo "No update needed."
                        fi
                        echo ""
                        cd ..
                    fi
                done
                
                if $updated; then
                    echo "Restart of MM needed, restarting now."
                    pm2 restart mm
                fi
                echo "All done. :)"
                

                If you cant find it, make it and share it!
                Modules: MMM-homeassistant-sensors, MMM-Modulebar, MMM-Profilepicture, MMM-Videoplayer

                D 1 Reply Last reply Reply Quote 0
                • R Offline
                  RudyAcevedo @izanbard
                  last edited by

                  @izanbard Thank you!!

                  1 Reply Last reply Reply Quote 0
                  • B Offline
                    batzyn
                    last edited by yawns

                    thank u!

                    A 1 Reply Last reply Reply Quote 0
                    • A Offline
                      akrishnan.j @batzyn
                      last edited by

                      @batzyn

                      pi@akpi:~/MagicMirror $ sudo git pull && npm install
                      Updating 8010e62…5c41e24
                      error: Your local changes to the following files would be overwritten by merge:
                      css/main.css
                      Please, commit your changes or stash them before you can merge.
                      Aborting
                      Any ideas…

                      johnnyboyJ S 2 Replies Last reply Reply Quote 0
                      • johnnyboyJ Offline
                        johnnyboy @akrishnan.j
                        last edited by johnnyboy

                        This post is deleted!
                        1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 3
                        • 4
                        • 2 / 4
                        • 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