MagicMirror Forum

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • Donate
    • Discord

    How to update.

    Tutorials
    21
    35
    76069
    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
      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
        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
        
        Snille johnnyboy R Unbored 6 Replies Last reply Reply Quote 4
        • Snille
          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
            Binog last edited by

            Thank You, awesome !

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

              This post is deleted!
              1 Reply Last reply Reply Quote 0
              • Snille
                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
                  RudyAcevedo @izanbard last edited by

                  @izanbard Thank you!!

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

                    thank u!

                    A 1 Reply Last reply Reply Quote 0
                    • A
                      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…

                      johnnyboy S 2 Replies Last reply Reply Quote 0
                      • johnnyboy
                        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 Paul-Vincent Roll and Rodrigo Ramírez Norambuena.
                        This forum is using NodeBB as its core | Contributors
                        Contact | Privacy Policy