Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Offical apps | Community apps | Demo | Docs | Install
  1. Cloudron Forum
  2. Community Packages
  3. AppsMonitor - monitoring for your Cloudron

AppsMonitor - monitoring for your Cloudron

Scheduled Pinned Locked Moved Community Packages
28 Posts 6 Posters 896 Views 5 Watching
  • 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.
  • necrevistonnezrN
    necrevistonnezrN
    necrevistonnezr
    wrote last edited by necrevistonnezr
    #5

    @girish @timconsidine
    Or maybe it’s a bug with HTML-escaped quotes in proxyAuth nginx config?

    nginx fails to start:

    [emerg] directive "location" has no opening "{" in /etc/nginx/applications/<app-id>/mon.domain.net.conf:181
    

    The app seems to use the proxyAuth addon. The generated location block contains HTML entities instead of literal single quotes:

    IMG_4124.jpeg

    Had to use a screenshot, as the HTML entity ' gets converted on a block quote on this forum πŸ™‚

    nginx treats "#" as the start of a comment, so the opening brace is lost and the config test fails, which takes down nginx for all apps.

    Environment: Cloudron 10.0.5, Ubuntu 26.04, kernel 7.0.0-31-generic

    1 Reply Last reply
    2
    • girishG
      girishG
      girish
      Staff
      wrote last edited by
      #6

      Oh, that looks like a bad validation bug. Testing. Looks like I broke this when I had "hardened" the nginx proxy auth. Previously, nginx config injection was possible from malicious community apps (by putting a payload in proxy auth paths).

      1 Reply Last reply
      2
      • girishG
        girishG
        girish
        Staff
        wrote last edited by
        #7

        @timconsidine https://communityapps.appx.uk/cloudron-appsmonitor/screenshot.png is a 404

        timconsidineT 1 Reply Last reply
        1
        • girishG
          girishG
          girish
          Staff
          wrote last edited by
          #8

          Thanks, so the proxy auth addon should be fixed - https://git.cloudron.io/platform/box/-/commit/6705b1c1107ec43ce09eff1945cd84ef9c60ff07

          1 Reply Last reply
          4
          • girishG girish

            @timconsidine https://communityapps.appx.uk/cloudron-appsmonitor/screenshot.png is a 404

            timconsidineT
            timconsidineT
            timconsidine
            App Dev
            wrote last edited by
            #9

            @girish sorry, bad link, fixing now.

            Correct link :
            https://communityapps.appx.uk/cloudron-appsmonitor/media/screenshot.png

            Indie app dev, scratching my itches : communityapps.appx.uk, portfolio at myca.appx.uk

            1 Reply Last reply
            1
            • necrevistonnezrN
              necrevistonnezrN
              necrevistonnezr
              wrote last edited by necrevistonnezr
              #10

              Thanks!

              Just out of curiosity (and little technical knowledge): Shouldn't a system that isolates apps via docker not be taken down completely by a malformed configuration file of one app?

              timconsidineT girishG 2 Replies Last reply
              0
              • necrevistonnezrN necrevistonnezr

                @timconsidine
                Did that install just kill the nginx.service?
                Since installing that, Cloudron doesn’t come up.

                The log I could see before Cloudron went down:

                Sep 16 07:27:06 apptask: run: app error for state pending_install: BoxError: Error reloading nginx: /usr/bin/sudo exited with code 1 signal null
                    at file:///home/yellowtent/box/src/reverseproxy.js:103:26
                    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
                    at async retry (file:///home/yellowtent/box/src/retry.js:13:20)
                    at async reload (file:///home/yellowtent/box/src/reverseproxy.js:101:5)
                    at async writeAppConfigs (file:///home/yellowtent/box/src/reverseproxy.js:572:5)
                    at async Object.configureApp (file:///home/yellowtent/box/src/reverseproxy.js:594:5)
                    at async installCommand (file:///home/yellowtent/box/src/apptask.js:504:5) {
                  [stack]: [Getter/Setter],
                  [message]: 'Error reloading nginx: /usr/bin/sudo exited with code 1 signal null',
                  name: 'BoxError',
                  reason: 'Nginx Error',
                  extra: {}
                }
                Sep 16 07:27:06 reverseproxy: Attempt 3 failed. Will retry: Error reloading nginx: /usr/bin/sudo exited with code 1 signal null BoxError: Error reloading nginx: /usr/bin/sudo exited with code 1 signal null
                    at file:///home/yellowtent/box/src/reverseproxy.js:103:26
                    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
                    at async retry (file:///home/yellowtent/box/src/retry.js:13:20)
                    at async reload (file:///home/yellowtent/box/src/reverseproxy.js:101:5)
                    at async writeAppConfigs (file:///home/yellowtent/box/src/reverseproxy.js:572:5)
                    at async Object.configureApp (file:///home/yellowtent/box/src/reverseproxy.js:594:5)
                    at async installCommand (file:///home/yellowtent/box/src/apptask.js:504:5)
                Sep 16 07:27:06 tasks: setCompleted - 24688: {"result":null,"error":{"message":"Error reloading nginx: /usr/bin/sudo exited with code 1 signal null","reason":"Nginx Error","stack":"BoxError: Error reloading nginx: /usr/bin/sudo exited with code 1 signal null\n    at file:///home/yellowtent/box/src/reverseproxy.js:103:26\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async retry (file:///home/yellowtent/box/src/retry.js:13:20)\n    at async reload (file:///home/yellowtent/box/src/reverseproxy.js:101:5)\n    at async writeAppConfigs (file:///home/yellowtent/box/src/reverseproxy.js:572:5)\n    at async Object.configureApp (file:///home/yellowtent/box/src/reverseproxy.js:594:5)\n    at async installCommand (file:///home/yellowtent/box/src/apptask.js:504:5)"},"percent":100}
                Sep 16 07:27:06 tasks: updating task 24688 with: {"completed":true,"result":null,"error":{"message":"Error reloading nginx: /usr/bin/sudo exited with code 1 signal null","reason":"Nginx Error","stack":"BoxError: Error reloading nginx: /usr/bin/sudo exited with code 1 signal null\n    at file:///home/yellowtent/box/src/reverseproxy.js:103:26\n    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)\n    at async retry (file:///home/yellowtent/box/src/retry.js:13:20)\n    at async reload (file:///home/yellowtent/box/src/reverseproxy.js:101:5)\n    at async writeAppConfigs (file:///home/yellowtent/box/src/reverseproxy.js:572:5)\n    at async Object.configureApp (file:///home/yellowtent/box/src/reverseproxy.js:594:5)\n    at async installCommand (file:///home/yellowtent/box/src/apptask.js:504:5)"},"percent":100}
                Sep 16 07:27:06 BoxError: Error reloading nginx: /usr/bin/sudo exited with code 1 signal null
                    at file:///home/yellowtent/box/src/reverseproxy.js:103:26
                    at process.processTicksAndRejections (node:internal/process/task_queues:104:5)
                    at async retry (file:///home/yellowtent/box/src/retry.js:13:20)
                    at async reload (file:///home/yellowtent/box/src/reverseproxy.js:101:5)
                    at async writeAppConfigs (file:///home/yellowtent/box/src/reverseproxy.js:572:5)
                    at async Object.configureApp (file:///home/yellowtent/box/src/reverseproxy.js:594:5)
                    at async installCommand (file:///home/yellowtent/box/src/apptask.js:504:5)
                Sep 16 07:27:06 Exiting with code 0
                Sep 16 07:27:06 taskworker: Task took 39.389 seconds
                Sep 16 07:26:40 WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
                Sep 16 07:26:40 Press CTRL+C to quit
                Sep 16 07:26:40 * Debug mode: off
                Sep 16 07:26:40 * Running on all addresses (0.0.0.0)
                Sep 16 07:26:40 * Running on http://127.0.0.1:3000
                

                Troubleshoot info:

                ═══ Host ═══
                Vendor: AZW Product: EQ
                Linux: 7.0.0-31-generic
                Ubuntu: resolute 26.04
                Cloudron: 10.0.5
                Execution environment: none
                none
                Processor: Intel(R) N100 x 4
                RAM: 15616096KB
                Disk: /dev/mapper/ubuntu--vg-ubuntu--lv  193G
                
                ═══ System ═══
                [OK]Root disk usage is OK (57%)
                [OK]Memory usage is OK (44%)
                [OK]Disk I/O on /home/yellowtent (ubuntu--vg-ubuntu--lv, unknown): 461 MB/s write, iowait 1%
                [OK]Clock is NTP-synchronized
                [OK]node version is correct
                [OK]IPv6 is enabled in kernel. Public IPv6 address detected
                [OK]docker is running
                [OK]docker version is correct
                
                ═══ Networking ═══
                [OK]no incompatible persistent-firewall packages installed
                [OK]DNS is resolving via systemd-resolved
                [OK]unbound is running
                [OK]IPv4 HTTPS to api.cloudron.io/api/v1/helper/public_ip
                [OK]IPv6 HTTPS to api.cloudron.io/api/v1/helper/public_ip
                [OK]IPv4 HTTPS to auth.docker.io/token
                [OK]IPv6 HTTPS to auth.docker.io/token
                [OK]IPv4 HTTPS to acme-v02.api.letsencrypt.org
                [OK]IPv6 HTTPS to acme-v02.api.letsencrypt.org
                [OK]netplan is good
                
                ═══ Cloudron Platform ═══
                [OK]MySQL is running
                [FAIL]nginx is down. Removing extraneous dashboard domain configs ...
                Job for nginx.service failed because the control process exited with error code.
                See "systemctl status nginx.service" and "journalctl -xeu nginx.service" for details.
                [FAIL]nginx is still down, please investigate the error by inspecting 'journalctl -u nginx' and /var/log/nginx/error.log
                [OK]Dashboard cert is valid (83 days remaining, expires Dec  8 14:12:24 2026 GMT)
                [FAIL]Could not load dashboard website with loopback check
                [OK]No pending database migrations
                [OK]Service 'mysql' is running and healthy
                [OK]Service 'postgresql' is running and healthy
                [OK]Service 'mongodb' is running and healthy
                [OK]Service 'mail' is running and healthy
                [OK]Service 'graphite' is running and healthy
                [OK]Service 'sftp' is running and healthy
                [OK]box v10.0.5 is running
                [FAIL]IPv4: could not load https://my.domain.net
                Hairpin NAT may not be working. Please check if your router supports it
                [FAIL]IPv6: could not load https://my.domain.net
                [OK]Domain domain.net is valid (170 days remaining, expires 2027-03-05T10:29:03Z)
                
                ======== Summary ========
                PASS:  29
                WARN:  0
                FAIL:  5
                SKIP:  0
                
                Failures:
                  - nginx is down. Removing extraneous dashboard domain configs ...
                  - nginx is still down, please investigate the error by inspecting 'journalctl -u nginx' and /var/log/nginx/error.log
                  - Could not load dashboard website with loopback check
                  - IPv4: could not load https://my.domain.net
                  - IPv6: could not load https://my.domain.net
                
                timconsidineT
                timconsidineT
                timconsidine
                App Dev
                wrote last edited by
                #11

                @necrevistonnezr thanks for reporting.

                If I am understand this correctly, it wasn't me or the app πŸ˜„

                Is it working for you now ?
                Not seeing any issues on a fresh install

                Indie app dev, scratching my itches : communityapps.appx.uk, portfolio at myca.appx.uk

                nichu42N 1 Reply Last reply
                0
                • necrevistonnezrN
                  necrevistonnezrN
                  necrevistonnezr
                  wrote last edited by
                  #12

                  No, I de-installed as soon as the system was up and running again, I had my share of experiments for the day πŸ™‚

                  timconsidineT 1 Reply Last reply
                  0
                  • necrevistonnezrN necrevistonnezr

                    No, I de-installed as soon as the system was up and running again, I had my share of experiments for the day πŸ™‚

                    timconsidineT
                    timconsidineT
                    timconsidine
                    App Dev
                    wrote last edited by
                    #13

                    @necrevistonnezr understand, sounds fraught

                    just done a 3rd test install
                    both cloudron box services and app seem ok

                    Indie app dev, scratching my itches : communityapps.appx.uk, portfolio at myca.appx.uk

                    1 Reply Last reply
                    0
                    • necrevistonnezrN necrevistonnezr

                      Thanks!

                      Just out of curiosity (and little technical knowledge): Shouldn't a system that isolates apps via docker not be taken down completely by a malformed configuration file of one app?

                      timconsidineT
                      timconsidineT
                      timconsidine
                      App Dev
                      wrote last edited by
                      #14

                      Just out of curiosity (and little technical knowledge): Shouldn't a system that isolates apps via docker not be taken down completely by a malformed configuration file of one app?

                      someone will correct me if I am seeing this wrongly.
                      it wasn't malformed configuration of an app
                      it was a box service that failed

                      Ideally and mostly running containers are isolated.
                      But every cloudron app depends on box services, from nginx to maybe addons like proxyAuth. If the box service trips up, the app can't function as it should.

                      Indie app dev, scratching my itches : communityapps.appx.uk, portfolio at myca.appx.uk

                      necrevistonnezrN 1 Reply Last reply
                      0
                      • robiR robi

                        This should be part of Cloudron default features.

                        P
                        P
                        p44
                        translator
                        wrote last edited by
                        #15

                        @robi Totally agree...

                        1 Reply Last reply
                        0
                        • timconsidineT timconsidine

                          Just out of curiosity (and little technical knowledge): Shouldn't a system that isolates apps via docker not be taken down completely by a malformed configuration file of one app?

                          someone will correct me if I am seeing this wrongly.
                          it wasn't malformed configuration of an app
                          it was a box service that failed

                          Ideally and mostly running containers are isolated.
                          But every cloudron app depends on box services, from nginx to maybe addons like proxyAuth. If the box service trips up, the app can't function as it should.

                          necrevistonnezrN
                          necrevistonnezrN
                          necrevistonnezr
                          wrote last edited by
                          #16

                          @timconsidine Yes, this was more directed at the Cloudron Team...

                          1 Reply Last reply
                          0
                          • necrevistonnezrN necrevistonnezr

                            Thanks!

                            Just out of curiosity (and little technical knowledge): Shouldn't a system that isolates apps via docker not be taken down completely by a malformed configuration file of one app?

                            girishG
                            girishG
                            girish
                            Staff
                            wrote last edited by
                            #17

                            @necrevistonnezr said:

                            Just out of curiosity (and little technical knowledge): Shouldn't a system that isolates apps via docker not be taken down completely by a malformed configuration file of one app?

                            Yeah, absolutely. This is a good conversation to have πŸ™‚

                            Cloudron was written primarily for pre-packaged apps written by us and not as a sandboxing environment to run arbitrary applications. When packages were written by us, we could "trust" the input in the manifest file, description, post install etc. When we made custom apps possible, the worst case was that a user sabotages himself with a poorly written manifest. But now with community apps, there is a new vector that malicious apps can do unknown things. For example, what if the description has some clickjacking or scam link? So, you can hit problems even without installing or running an app (so we don't hit run time isolation). This is also why we don't want to integrate community listing straight into the main dashboard, this would give too many good feelings of trust.

                            We are fixing issues (like this) as and when they come, but one should only run 3rd party packages they trust. Cloudron company's primary focus is still to runs the apps from the main app store and not to make a general trusted environment to run random stuff (FWIW, I don't think such a product exists out there).

                            1 Reply Last reply
                            3
                            • timconsidineT
                              timconsidineT
                              timconsidine
                              App Dev
                              wrote last edited by timconsidine
                              #18

                              Sounds like β€œCommunityAppChecker” "AppInspector" utility is needed. Put a CloudronVersions link in input box, utility checks whatever is needed/possible, generate alerts for sus content.
                              Conceptually best to come from Cloudron team but that drags Cloudron towards approving apps, which is probably a v.bad direction. Maybe I will give some thought to it.

                              I really understand and support the official stance - it is simply not viable otherwise.

                              Some other simple defences :

                              • have registered app packager scheme : no fees, basic metadata, probably already publicly known, enough to know legit packager and no more
                              • ca.cloudron.io only takes submissions from registered packagers (currently must have a Cloudron account)
                              • Cloudron will hate (understandably) any form of stars or likes on ca.cloudron.io, but maybe a simple more neutral voluntary β€œI installed this” counter

                              Indie app dev, scratching my itches : communityapps.appx.uk, portfolio at myca.appx.uk

                              1 Reply Last reply
                              2
                              • timconsidineT
                                timconsidineT
                                timconsidine
                                App Dev
                                wrote last edited by timconsidine
                                #19

                                Could not resist it - AppInspector available :
                                https://forum.cloudron.io/post/129539

                                Needs more and deeper tests, and nothing will ever be a guarantee.
                                But it's a start.

                                Indie app dev, scratching my itches : communityapps.appx.uk, portfolio at myca.appx.uk

                                1 Reply Last reply
                                2
                                • timconsidineT timconsidine

                                  @necrevistonnezr thanks for reporting.

                                  If I am understand this correctly, it wasn't me or the app πŸ˜„

                                  Is it working for you now ?
                                  Not seeing any issues on a fresh install

                                  nichu42N
                                  nichu42N
                                  nichu42
                                  wrote last edited by
                                  #20

                                  @timconsidine Fresh install fails with
                                  An error occurred during the install operation: Nginx Error: Error reloading nginx: /usr/bin/sudo exited with code 1 signal null

                                  Matrix: @nichu42:beeper.com

                                  timconsidineT 1 Reply Last reply
                                  0
                                  • nichu42N nichu42

                                    @timconsidine Fresh install fails with
                                    An error occurred during the install operation: Nginx Error: Error reloading nginx: /usr/bin/sudo exited with code 1 signal null

                                    timconsidineT
                                    timconsidineT
                                    timconsidine
                                    App Dev
                                    wrote last edited by timconsidine
                                    #21

                                    @nichu42 just checking : is that AppsMonitor ? or AppInspector ?
                                    (sequence of messages leaves me unclear)

                                    EDIT : I did a fresh install of AppsMonitor and did not meet any errors.
                                    Is that message from the app's Logs panel ? or where did it show up ?

                                    Indie app dev, scratching my itches : communityapps.appx.uk, portfolio at myca.appx.uk

                                    nichu42N 1 Reply Last reply
                                    0
                                    • timconsidineT timconsidine

                                      @nichu42 just checking : is that AppsMonitor ? or AppInspector ?
                                      (sequence of messages leaves me unclear)

                                      EDIT : I did a fresh install of AppsMonitor and did not meet any errors.
                                      Is that message from the app's Logs panel ? or where did it show up ?

                                      nichu42N
                                      nichu42N
                                      nichu42
                                      wrote last edited by
                                      #22

                                      @timconsidine It is AppsMonitor and it appears during the installation after it failed.

                                      Matrix: @nichu42:beeper.com

                                      timconsidineT 1 Reply Last reply
                                      0
                                      • nichu42N nichu42

                                        @timconsidine It is AppsMonitor and it appears during the installation after it failed.

                                        timconsidineT
                                        timconsidineT
                                        timconsidine
                                        App Dev
                                        wrote last edited by
                                        #23

                                        @nichu42 strange : not showing in my live or test instances.
                                        I've done 5 test installs of AppsMonitor today

                                        So probably need to start some basic 'differences' test :
                                        I'm running cloudron 9.2
                                        Are you the same or are you upgraded to 10 ?

                                        Any logs showing what was happening before the crash ?

                                        Indie app dev, scratching my itches : communityapps.appx.uk, portfolio at myca.appx.uk

                                        nichu42N 1 Reply Last reply
                                        1
                                        • timconsidineT timconsidine

                                          @nichu42 strange : not showing in my live or test instances.
                                          I've done 5 test installs of AppsMonitor today

                                          So probably need to start some basic 'differences' test :
                                          I'm running cloudron 9.2
                                          Are you the same or are you upgraded to 10 ?

                                          Any logs showing what was happening before the crash ?

                                          nichu42N
                                          nichu42N
                                          nichu42
                                          wrote last edited by
                                          #24

                                          @timconsidine I am on 10.0.5
                                          I didn't spot anything useful in the log. But I am on vacation and only have my mini screen Fairphone with me do I might have missed something.

                                          Matrix: @nichu42:beeper.com

                                          timconsidineT 1 Reply Last reply
                                          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
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Bookmarks
                                          • Search