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.

    Starting MM Crontab

    Scheduled Pinned Locked Moved Bug Hunt
    15 Posts 3 Posters 2.3k Views 3 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.
    • mumblebajM Offline
      mumblebaj Module Developer
      last edited by

      Hi.

      I have been using crontab to start my MM for ages and it has always worked well. After updating it no longer seems to work. cron calls a script that has the following.

      cd ~/MagicMirror
      DISPLAY=0 npm start
      

      Now, I have seen that it is suggest to use node --run start:X11 going forward and I have updated my start script with same but that does not seem to work either.

      So my mm.sh now looks like,

      cd ~/MagicMirror
      DISPLAY=0 node --run start:X11
      

      But as mentioned, this does not work.

      Any ideas?

      Check out my modules at: https://github.com/mumblebaj?tab=repositories
      Check my blog-post: https://mumblebaj.xyz/
      Check my MM Container: https://hub.docker.com/repository/docker/mumblebaj/magicmirror/general

      KristjanESPERANTOK 1 Reply Last reply Reply Quote 0
      • KristjanESPERANTOK Offline
        KristjanESPERANTO Module Developer @mumblebaj
        last edited by KristjanESPERANTO

        @mumblebaj said in Starting MM Crontab:

        DISPLAY=0 node --run start:X11

        It should be start:x11 and not start:X11.

        Are you still using X11?

        Does it run when you start it manually?

        Can you provide the logs from the startup?

        mumblebajM 1 Reply Last reply Reply Quote 0
        • mumblebajM Offline
          mumblebaj Module Developer @KristjanESPERANTO
          last edited by

          @KristjanESPERANTO Sorry, typo, it is lower x. It start when I manually run npm start. When I manually run node --run start:x11 it works fine. When I manually run the script ./mm.sh it works fine. When calling it from the cron nothing. In my log I see the command node --run start:x11 but MM does not launch.

          Check out my modules at: https://github.com/mumblebaj?tab=repositories
          Check my blog-post: https://mumblebaj.xyz/
          Check my MM Container: https://hub.docker.com/repository/docker/mumblebaj/magicmirror/general

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

            @mumblebaj is the cron jon in the user crontab (contrab -e) ? or root (sudo crontab -e) ?

            if root, the pm2 job doesn’t exist there, it opnly exists under user who created the pm2 job

            Sam

            How to add modules

            learning how to use browser developers window for css changes

            mumblebajM 1 Reply Last reply Reply Quote 0
            • mumblebajM Offline
              mumblebaj Module Developer @sdetweil
              last edited by mumblebaj

              @sdetweil in my user, crontab -e. It worked just fine until I updated my mirror this morning. I don’t use pm2 on my installation for my own reasons… 😉

              Check out my modules at: https://github.com/mumblebaj?tab=repositories
              Check my blog-post: https://mumblebaj.xyz/
              Check my MM Container: https://hub.docker.com/repository/docker/mumblebaj/magicmirror/general

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

                @mumblebaj said in Starting MM Crontab:

                It worked just fine until I updated my mirror this morning.

                only MM update?

                note that we changed the startup strings.

                “start”: “node --run start:x11”,

                Sam

                How to add modules

                learning how to use browser developers window for css changes

                mumblebajM 1 Reply Last reply Reply Quote 0
                • mumblebajM Offline
                  mumblebaj Module Developer @sdetweil
                  last edited by

                  @sdetweil Yep, only MM update. Let me try start: node --run start:x11 and see what happens.

                  Check out my modules at: https://github.com/mumblebaj?tab=repositories
                  Check my blog-post: https://mumblebaj.xyz/
                  Check my MM Container: https://hub.docker.com/repository/docker/mumblebaj/magicmirror/general

                  KristjanESPERANTOK 1 Reply Last reply Reply Quote 0
                  • KristjanESPERANTOK Offline
                    KristjanESPERANTO Module Developer @mumblebaj
                    last edited by KristjanESPERANTO

                    @mumblebaj Just an idea: Maybe the node version used in Cron could be to old. When you run a script manually in your terminal, your full user environment (including things like .bashrc or .zshrc) is loaded. Cron runs in a much more minimal environment — it often doesn’t load your shell config files, so tools like nvm (Node Version Manager) might not be available.

                    How to fix it:

                    • Use the full path to Node: Find it with which node and use that path in your cron job.
                    • Set the environment manually in cron: You can define your PATH at the top of the cron file.
                    • Source nvm in your script: If you use nvm, add source ~/.nvm/nvm.sh and nvm use <version> before calling node.
                    mumblebajM 1 Reply Last reply Reply Quote 1
                    • mumblebajM Offline
                      mumblebaj Module Developer @KristjanESPERANTO
                      last edited by

                      @KristjanESPERANTO Thanks Kristjan. But I don’t see how updating MM could cause this. I only updated MM with Sam’s upgrade script. Don’t see how that has changed anything with regards to how Crontab works. Maybe it is related to changing the launch to node --run start. I can see the command being fired in the log but it does not launch MM like it did before the upgrade.

                      Anyhow, I manually launch it for now till I find a suitable solution.

                      Check out my modules at: https://github.com/mumblebaj?tab=repositories
                      Check my blog-post: https://mumblebaj.xyz/
                      Check my MM Container: https://hub.docker.com/repository/docker/mumblebaj/magicmirror/general

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

                        @mumblebaj did you use npm start before?

                        it ‘may’ be the path as @KristjanESPERANTO mentioned

                        so from the user command line do

                        which node

                        and use that result in the cron command

                        Sam

                        How to add modules

                        learning how to use browser developers window for css changes

                        mumblebajM 2 Replies Last reply Reply Quote 0
                        • mumblebajM Offline
                          mumblebaj Module Developer @sdetweil
                          last edited by

                          @sdetweil Hi Sam. I have always used npm. I have just been reading through the PR-3764 and i agree with your arguments in that it could have breaking affects for how we do things as both users and devs. Case in point.

                          However, the forum is about new things and moving forward, so I agree with @KristjanESPERANTO on that point of view as well.

                          I have now resolved my script issue and am now able to launch from the cron again. 😉

                          For somebody who may have the same issue, this is how I solved for it.

                          export DISPLAY=:0
                          cd ~/MagicMirror
                          npm run start:x11
                          

                          The above has solved it for me now.

                          Check out my modules at: https://github.com/mumblebaj?tab=repositories
                          Check my blog-post: https://mumblebaj.xyz/
                          Check my MM Container: https://hub.docker.com/repository/docker/mumblebaj/magicmirror/general

                          S 1 Reply Last reply Reply Quote 2
                          • mumblebajM Offline
                            mumblebaj Module Developer @sdetweil
                            last edited by

                            @sdetweil Stupid question, how do I mark this as resolved?

                            Check out my modules at: https://github.com/mumblebaj?tab=repositories
                            Check my blog-post: https://mumblebaj.xyz/
                            Check my MM Container: https://hub.docker.com/repository/docker/mumblebaj/magicmirror/general

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

                              @mumblebaj you didn’t open it as an issue, so it can’t be resolved

                              Normally 3 dot menu right of selected post

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

                                @mumblebaj what do you think fixed your problem?

                                DISPLAY is set in package.json if not already
                                folder of course

                                Sam

                                How to add modules

                                learning how to use browser developers window for css changes

                                mumblebajM 1 Reply Last reply Reply Quote 0
                                • mumblebajM Offline
                                  mumblebaj Module Developer @sdetweil
                                  last edited by

                                  @sdetweil A few things:

                                  The main issue being:
                                  MagicMirror is now using a flat npm config, and the start scripts are handled differently, node --run start:x11 is not a valid Node.js command — unless you are using a custom wrapper or an internal script, this will fail silently or do nothing.

                                  As Crontab runs in a minimal environment, so any graphical (X11) application must explicitly export DISPLAY. Previously I had the command as DISPLAY=:0 npm start. Now, I had to export DISPLAY=:0 first and then start MM.

                                  Check out my modules at: https://github.com/mumblebaj?tab=repositories
                                  Check my blog-post: https://mumblebaj.xyz/
                                  Check my MM Container: https://hub.docker.com/repository/docker/mumblebaj/magicmirror/general

                                  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 / 1
                                  • 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