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 87 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.
    • 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 Do not disturb
          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 Do not disturb
              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 Do not disturb
                  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 Do not disturb
                      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 Do not disturb
                          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 Do not disturb
                              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 Do not disturb
                                  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
                                  • E Offline
                                    ember1205 @sdetweil
                                    last edited by

                                    @sdetweil I don’t believe it’s the modules.

                                    Leap 16 fresh install is fine with a fresh MM install as well. I upgraded the server again from Leap 15 to Leap16. Before the upgrade, I removed node and npm modules linked to version 18 and MM was running fine in all mannners.

                                    After the upgrade, I made a couple of system-level changes (like disabling the firewall that it forces on you) and added the node/npm modules for version 24 and wasn’t able to start the mirror with pm2 like normal… it continues to throw errors about node18 being missing. However, running the mm.sh script manually or launching the mirror via either npm start server or node --run server works fine.

                                    Did more digging around and found that the issue lies solely in the hands of pm2… the back-end environment was created back in the node/npm 18 days and that was saved in the configuration. The only way to find it was to do a “pm2 dump” and scan the file.

                                    Once I knew it was pm2 for sure, the actual fix was pretty simple:

                                    pm2 save
                                    npm install pm2 -g
                                    pm2 update
                                    pm2 unstartup
                                    pm2 startup
                                    

                                    If MM wasn’t still configured as a process…

                                    cd ~
                                    pm2 start mm.sh
                                    pm2 save
                                    

                                    I’m running on Leap 16, latest patches, node/npm 18 is uninstalled, mirror is properly auto-launching. Now, I can update the modules and the mirror… But not before I do a snapshot! lol

                                    S 1 Reply Last reply Reply Quote 1
                                    • S Do not disturb
                                      sdetweil @ember1205
                                      last edited by

                                      @ember1205 awesome info!! Thanks for the update

                                      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

                                        Do any of your scripts check for pm2 and update the version during any installs or upgrades? Seems like, for the latter at least, that would be helpful.

                                        My original mirror was obviously built quite a long time ago as the node18 variable was linked to the startup process. No idea how many MM revisions I went through between then and now and was always running on the much older version of node no matter what I did to upgrade the main system.

                                        S 1 Reply Last reply Reply Quote 0
                                        • S Do not disturb
                                          sdetweil @ember1205
                                          last edited by

                                          @ember1205 the upgrade script does

                                          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 don’t see anything in the script to do the pm2 save or a “pm2 start mm --udpate-env” so that it would use the new version of node. Not sure if your script is already gracefully handling those kinds of updates for the MM startup.

                                            Also, since the script seems to assume Debian-based distro’s, dpkg doesn’t execute on my system and I’m not entirely sure if the script would effectively update my system for me. Thoughts on that?

                                            S 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