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 upgrade a Linux "server" with minimal modules?

    Scheduled Pinned Locked Moved General Discussion
    29 Posts 2 Posters 213 Views 2 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 @ember1205
      last edited by

      @ember1205 I recommend

      make a backup, store to github
      make a new SD card, latest OS
      install MM, verify it starts (full service, UI etc)
      run restore from github to restore your configuration and modules…
      restart and verify

      old system is untouched

      Sam

      How to add modules

      learning how to use browser developers window for css changes

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

        @sdetweil Thanks for the response.

        I’m familiar with the different options that come with a new install and would be ok with having to DO a new install if that’s the only way to get upgrades completed. I guess I’m wondering if there’s a simpler way to upgrade the one or two modules that I have and get the core MM upgraded as well without having to start from scratch with the configuration and such. This instance is server only (there’s nothing attached to any sort of output here, and I don’t even run MM as the client any more - it’s a linux shell with its own GUI, auto-starts firefox in kiosk mode, and the page is set to always launch the mirror address).

        I’m not even concerned with how to back everything up because my installation is actually fairly simple. And I’m not actually looking to change environments - I’ve already done that from a short while back. This is all entirely for the server side which is a linux guest running on a XCP-NG virtualization host.

        S 3 Replies Last reply Reply Quote 0
        • S Offline
          sdetweil @ember1205
          last edited by sdetweil

          @ember1205 the difficulty is that the core has been kept up to date, and it requires new system parts that require new system parts…

          you MUST upgrade nodejs if not on node 22
          upgrading on older systems fails, the next node upgrade, 24 or above, drops support for 32bit systems completely… we are holding off as long as we can… but the clock is ticking…

          my install and upgrade scripts enforce the systems path… if they fail now, there is no manual way to get there from where you are… (without rebuild)

          and if you use my installer script, its a copy/paste… not a lot of work

          make the backup regardless

          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 @ember1205
            last edited by

            @ember1205 you can attempt to upgrade modules…

            each is separate

            cd module_folder
            git pull
            if successful, npm install

            restart mm… to load the new modules…

            only a few have latest as dependencies… which would force all the above work

            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 @ember1205
              last edited by sdetweil

              @ember1205 upgrade of the core code is

              cd  MagicMirror_folder
              git pull
              npm install
              

              if it will run… needs at least node 22.22.1

              let me know how I can help

              you can fall back to a prior version by switching to one of the earlier releases, thru the git tag we created.
              if you try the upgrade (manual) and it fails and want to try this, let me know i’ll provide the commands needed

              Sam

              How to add modules

              learning how to use browser developers window for css changes

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

                @sdetweil I am running (currently) on opensuse Leap 15.6. I will be updating in the not-too-distant future to Leap 16.0.

                In looking at the installed packages, Node.js lists “22.22.0” as the package but “22.15.1” as the installed version. So…

                zypper ref ; zypper up
                

                Let it install all of the pertinent updates… Reboot (new kernel was part of the updates)… Everything is back online. Checking the installed software list now shows Node.js as “22.22.0”.

                Leap 16.0 will allow me to go to Node.js 24, but that would be an undertaking for later today or later this week (depending on what time I might have elsewhere).

                Updating the modules went fine (overall). This is what a git pull in the main MM directory shows me:

                From https://github.com/MichMich/MagicMirror
                   3dbe8bfbb..fb41d24ef  master     -> origin/master
                   ec80b2508..e747db16d  develop    -> origin/develop
                 * [new tag]             v2.1.3     -> v2.1.3
                 * [new tag]             v2.14.0    -> v2.14.0
                 * [new tag]             v2.15.0    -> v2.15.0
                 * [new tag]             v2.16.0    -> v2.16.0
                 * [new tag]             v2.17.0    -> v2.17.0
                 * [new tag]             v2.17.1    -> v2.17.1
                 * [new tag]             v2.18.0    -> v2.18.0
                 * [new tag]             v2.19.0    -> v2.19.0
                 * [new tag]             v2.2.1     -> v2.2.1
                 * [new tag]             v2.20.0    -> v2.20.0
                 * [new tag]             v2.21.0    -> v2.21.0
                 * [new tag]             v2.22.0    -> v2.22.0
                 * [new tag]             v2.23.0    -> v2.23.0
                 * [new tag]             v2.24.0    -> v2.24.0
                 * [new tag]             v2.25.0    -> v2.25.0
                 * [new tag]             v2.26.0    -> v2.26.0
                 * [new tag]             v2.27.0    -> v2.27.0
                 * [new tag]             v2.28.0    -> v2.28.0
                 * [new tag]             v2.29.0    -> v2.29.0
                 * [new tag]             v2.30.0    -> v2.30.0
                 * [new tag]             v2.31.0    -> v2.31.0
                 * [new tag]             v2.32.0    -> v2.32.0
                 * [new tag]             v2.33.0    -> v2.33.0
                 * [new tag]             v2.34.0    -> v2.34.0
                 * [new tag]             v2.35.0    -> v2.35.0
                 * [new tag]             v2.36.0    -> v2.36.0
                Updating 3dbe8bfbb..fb41d24ef
                error: Your local changes to the following files would be overwritten by merge:
                        package-lock.json
                        package.json
                Please commit your changes or stash them before you merge.
                Aborting
                
                
                E S 2 Replies Last reply Reply Quote 0
                • E Offline
                  ember1205 @ember1205
                  last edited by

                  Update…

                  Updating the modules crashes the server. So, I’m going to have to get the main server updated… I had to revert to a prior snapshot to get the MM server running again.

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

                    @ember1205 said:

                    package-lock.json
                    package.json

                    erase those and git pull again

                    Sam

                    How to add modules

                    learning how to use browser developers window for css changes

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

                      @sdetweil I’ll have to try again a little later today maybe… I had to revert the snapshot (removing the module updates) to get it running again.

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

                        @ember1205 understand… please advise your results when you can

                        Sam

                        How to add modules

                        learning how to use browser developers window for css changes

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

                          @sdetweil I did an OS upgrade to move to Leap 16. I had a couple of quirky issues with that and corrected them. Post-upgrade, I added node24 packages but Leap 16 no longer supports the node18 packages (so, those are gone).

                          I updated the modules and then MM and now it throws an error claiming that it can’t locate node18 executable. I tried searching for some sort of symbolic link, but I’m not finding anything.

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

                            @ember1205 did you redo the MM npm install after upgrading node? to make sure any dependencies with node version requirements are resolved?

                            Sam

                            How to add modules

                            learning how to use browser developers window for css changes

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

                              @sdetweil Yep.

                              The only thing is puts on the screen of any potential interest is

                              [ -f node_modules/.bin/husky ] && husky || echo no husky installed
                              
                              S 1 Reply Last reply Reply Quote 0
                              • S Offline
                                sdetweil @ember1205
                                last edited by

                                @ember1205 what MM version is this?

                                Sam

                                How to add modules

                                learning how to use browser developers window for css changes

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

                                  @sdetweil I reverted back again (Leap 15.6)

                                  I recall seeing a 36 or something somewhere if that helps.

                                  I had even moved the MM folder off and tried starting again, re-installed npm 22 and 24, and the errors were exactly the same. Something is out-of-whack somewhere and I haven’t had the time to dig deep enough to understand if it’s MM, my linux machine, or a combo.

                                  I’m considering trying a fresh Leap 16 build and seeing what happens. If that works without an issue, then at least I know “it’s possible.”

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

                                    @ember1205 mm version is in package.json

                                    2.35/2.36
                                    all custom.css stuff moved to config folder (user managed files go here)
                                    default modules moved from modules/default to defaultmodules

                                    Sam

                                    How to add modules

                                    learning how to use browser developers window for css changes

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

                                      @sdetweil As mentioned, I reverted… back to whatever I was previously running.

                                      Working on a fresh Leap 16 install, fresh MM install. Running into problems with inability to connect to display (running serveronly, no display connected). Seems that the serverOnly config setting may not get used any more? I have to start the server with “node --run server” to get past the display errors.

                                      BTW… fresh install, there is no ‘default’ directory under modules… Thoughts?

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

                                        @ember1205 said:

                                        BTW… fresh install, there is no ‘default’ directory under modules… Thoughts?

                                        default modules moved from modules/default to MagicMirror/defaultmodules

                                        “server”: “node ./serveronly”

                                        looks like a bug in 2.36 , fixed in 2.37-develop

                                        3 more weeks til 2.37

                                        you could get develop branch
                                        https://forum.magicmirror.builders/topic/14327/testing-new-fixes-or-solving-current-problems-with-next-release-code

                                        Sam

                                        How to add modules

                                        learning how to use browser developers window for css changes

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

                                          @sdetweil The bug may have been around for a while… my mm.sh script is launching the mirror via “npm run server” and that script is what pm2 uses to launch the mirror. I’ve been doing it that way for a long time, likely because the serverOnly config setting wasn’t working.

                                          If I actively run “npm run server” and then do “ps aux |grep node” I do not see anything related to node18 in the process list.

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

                                            @ember1205 said:

                                            likely because the serverOnly config setting wasn’t working.

                                            the serverOnly config only works with my run-start.sh script,
                                            and was removed from the sample config.js a good while back.

                                            for the node 18 thing,
                                            if you disable the extra modules (make a new config.js, or use the sample, and use the env variable

                                            export MM_CONFIG_FILE=config/filename
                                            

                                            to test

                                            do you ses the same message?

                                            Sam

                                            How to add modules

                                            learning how to use browser developers window for css changes

                                            E 1 Reply Last reply Reply Quote 0

                                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                            With your input, this post could be even better 💗

                                            Register Login
                                            • 1
                                            • 2
                                            • 1 / 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