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.
    • bheplerB Offline
      bhepler Module Developer @Guest
      last edited by

      @wjdw87 The readme.md is also downloaded with the MirrorMirror code when you run the installation command. You’ll find it on your Pi at ~/MagicMirror/README.md.

      ? 1 Reply Last reply Reply Quote 0
      • ? Offline
        A Former User @bhepler
        last edited by

        @bhepler said in How to update.:

        @wjdw87 The readme.md is also downloaded with the MirrorMirror code when you run the installation command. You’ll find it on your Pi at ~/MagicMirror/README.md.

        thanks

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