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.

    ChatGpt developed Module MMM-Dockerstat

    Scheduled Pinned Locked Moved Development
    27 Posts 4 Posters 6.2k Views 4 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.
    • R Offline
      Rags @mumblebaj
      last edited by

      @mumblebaj
      Thanks for the help, i am running with npm start. The display does not show the status of the docker containers. Instead the rotating arrow is continuously displayed.
      I don’t know if the these error messages will indicate something, however here goes

      The error msg with npm start;
      02.04.2023 17:12.36.528] [LOG] Host 192.168.1.200 is offline.
      [02.04.2023 17:12.36.530] [ERROR] (node:11566) UnhandledPromiseRejectionWarning: TypeError: Cannot read properties of undefined (reading ‘info’)
      at /home/pi/MagicMirror/modules/MMM-Dockerstat/node_helper.js:59:21
      at /home/pi/MagicMirror/modules/MMM-Dockerstat/node_modules/ping/lib/ping-sys.js:40:9
      [02.04.2023 17:12.36.531] [ERROR] (node:11566) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 5)
      with developer console;

      Failed to load resource: the server responded with a status of 404 (Not Found)
      0.0.0.0/:1 Refused to execute script from ‘http://0.0.0.0:8088/modules/MMM-Dockerstat/fontawesome.js’ because its MIME type (‘text/html’) is not executable, and strict MIME type checking is enabled.
      loader.js:194 Error on loading script: modules/MMM-Dockerstat/fontawesome.js
      script.onerror @ loader.js:194

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

        @Rags Lots of issues in the code you had. I created a PR. Check it out.

        Check out my modules at: https://github.com/mumblebaj?tab=repositories
        Check my blog-post: https://mumblebaj.xyz/

        R 1 Reply Last reply Reply Quote 0
        • R Offline
          Rags @mumblebaj
          last edited by

          @mumblebaj
          Yes Sir. I noticed the changes committed by you and I immediately approved the merge commit. Please understand this is my first attempt and I had ChatGPT to help me. I guess we both are still learning. Well, I cloned the fresh updated repository and installed it. Now when i run it the constantly rotating arrow is not displayed anymore, but even the status of the containers are not being displayed. The npm start logs do not have any error messages. The dev console is also not indicating any issue. So probably some more debug is required. Sincere request to keep assisting till it is resolved.
          Thanks

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

            @Rags Unfortunately I don’t have a docker running here so cannot test that portion of your code. You need to supply the docker name as an input parameter to feed into .exec(`sudo docker ps -f name=${payload.container} --format "{{.Names}} {{.Status}}"`)

            Have you added this into the config.js?

            Check out my modules at: https://github.com/mumblebaj?tab=repositories
            Check my blog-post: https://mumblebaj.xyz/

            S R 2 Replies Last reply Reply Quote 0
            • S Offline
              sdetweil @mumblebaj
              last edited by

              @mumblebaj can u see the container names from inside a container?

              Sam

              How to add modules

              learning how to use browser developers window for css changes

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

                @sdetweil No idea. Never worked with containers before. (Shocking I know :astonished_face: ) Just gave him a bit of code to get the module running correct up until the point he has to check the status of the container code.

                Check out my modules at: https://github.com/mumblebaj?tab=repositories
                Check my blog-post: https://mumblebaj.xyz/

                1 Reply Last reply Reply Quote 0
                • R Offline
                  Rags @mumblebaj
                  last edited by

                  @mumblebaj {
                  module: ‘MMM-Dockerstat’,
                  header: ‘Docker Status’,
                  position: ‘top_right’,
                  config: {
                  host: ‘192.168.1.200’, // IP address of the second Pi running Docker
                  interval: 600000, //60 seconds
                  user:‘pi’,
                  password:‘mypass’,
                  container: ‘wireguard’, // just added to check
                  offlineIcon: ‘fa-times-circle’, // Font Awesome icon for offline status
                  onlineIcon: ‘fa-check-circle’ // Font Awesome icon for online status
                  }
                  },
                  Yes i added the name of the container. It is still not displaying the status. Anyways the idea was for the module to probe and display the status of all containers running in docker.

                  1 Reply Last reply Reply Quote 0
                  • R Offline
                    Rags @sdetweil
                    last edited by Rags

                    @sdetweil said in ChatGpt developed Module MMM-Dockerstat:

                    @mumblebaj can u see the container names from inside a container?

                    ‘Docker ps’ command list all the containers that are currently running. So i guess the command will execute and should be able to confirm the status with the command
                    " ‘.exec(sudo docker ps -f name=${payload.container} --format "{{.Names}} {{.Status}}")’"

                    This command uses the Docker CLI (Command Line Interface) to list the running Docker containers on a host, filtering the results by the name of the container specified in payload.container. The --format option specifies how to format the output of the docker ps command. In this case, {{.Names}} {{.Status}} is used to output only the names and statuses of the containers that match the specified filter. The output is then captured and processed by the SSH library used in the code.

                    anyways " work in progress ".

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

                      @Rags The output from the query does not return a Status of “Online”

                      See below what it returns.

                      6ddea81e-8969-4d68-b3c3-62dfb470ab10-image.png

                      Check out my modules at: https://github.com/mumblebaj?tab=repositories
                      Check my blog-post: https://mumblebaj.xyz/

                      R 1 Reply Last reply Reply Quote 0
                      • R Offline
                        Rags @mumblebaj
                        last edited by

                        @mumblebaj said in ChatGpt developed Module MMM-Dockerstat:

                        @Rags The output from the query does not return a Status of “Online”

                        See below what it returns.

                        6ddea81e-8969-4d68-b3c3-62dfb470ab10-image.png

                        Yes you are right even i got a similar output when the command was run on the second pi directly. So at least we are getting somewhere. Good news.
                        sudo docker ps -f name=wireguard --format “{{.Names}} {{.Status}}”
                        wireguard Up 36 hours.
                        so now i have to figure out a command line to get status of all containers in a table form with name of container and the uptime.

                        S mumblebajM 2 Replies Last reply Reply Quote 0
                        • 1
                        • 2
                        • 3
                        • 2 / 3
                        • 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