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

Apps | Demo | Docs | Install
  1. Cloudron Forum
  2. Uptime Kuma
  3. Cloudron Health Check Endpoint

Cloudron Health Check Endpoint

Scheduled Pinned Locked Moved Solved Uptime Kuma
9 Posts 3 Posters 1.7k Views 3 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.
    • J Offline
      J Offline
      JLX89
      wrote on last edited by
      #1

      Hello All,
      Is it possible to have Uptime Kuma hit a specific endpoint for monitoring apps inside Cloudron? We'd like to use the health check service, if possible rather than hitting the DNS or IP, since we're using the same IP from most apps and using Cloudflare for DNS which both don't give accurate results.

      Is it possible to hit an endpoint such as https://app-name.domain.tld/cloudron_healthcheck or similar end point with Uptime Kuma?

      Thank you!

      fbartelsF 1 Reply Last reply
      1
      • J JLX89

        Hello All,
        Is it possible to have Uptime Kuma hit a specific endpoint for monitoring apps inside Cloudron? We'd like to use the health check service, if possible rather than hitting the DNS or IP, since we're using the same IP from most apps and using Cloudflare for DNS which both don't give accurate results.

        Is it possible to hit an endpoint such as https://app-name.domain.tld/cloudron_healthcheck or similar end point with Uptime Kuma?

        Thank you!

        fbartelsF Offline
        fbartelsF Offline
        fbartels
        App Dev
        wrote on last edited by
        #2

        Hi @JLX89,

        the health status of a given app can be retrieved from the Cloudron api. See https://docs.cloudron.io/api.html#tag/Apps/paths/~1apps~1{appid}/get for the relevant request.

        You would need to add an auth header to your request. From what I can see Uptime Kuma does not have the possibility to perform operations on the json response of the api, but you could do a keyword match instead.

        J 1 Reply Last reply
        3
        • fbartelsF fbartels

          Hi @JLX89,

          the health status of a given app can be retrieved from the Cloudron api. See https://docs.cloudron.io/api.html#tag/Apps/paths/~1apps~1{appid}/get for the relevant request.

          You would need to add an auth header to your request. From what I can see Uptime Kuma does not have the possibility to perform operations on the json response of the api, but you could do a keyword match instead.

          J Offline
          J Offline
          JLX89
          wrote on last edited by
          #3

          @fbartels Thank you so much -- that worked out perfectly!

          robiR 1 Reply Last reply
          4
          • J JLX89

            @fbartels Thank you so much -- that worked out perfectly!

            robiR Offline
            robiR Offline
            robi
            wrote on last edited by
            #4

            @JLX89 Can you jot down what you did to make it work for others in the future as well?

            Conscious tech

            J 1 Reply Last reply
            4
            • nebulonN nebulon marked this topic as a question on
            • nebulonN nebulon has marked this topic as solved on
            • fbartelsF Offline
              fbartelsF Offline
              fbartels
              App Dev
              wrote on last edited by
              #5

              Since I am always missing notifications in Cloudron (don't log into the dashboard often enough) I decided to add a monitor for it to Uptime Kuma.

              • Add New Monitor
              • Monitor Type: HTTP(s) - Keyword
              • URL: https://my.domain.com/api/v1/notifications?acknowledged=false&page=1&per_page=2
              • Keyword: "notifications":[]
              • Heartbeat Interval: 360 (could be higher however, I don't need instant alerts for new notifications)

              Since the api only works with auth, we also need to send a header for this. For this paste the following in the "Headers" field:

              {
                  "authorization": "Bearer xxx"
              }
              

              The xxx needs to be replaced with a valid api token, which can be created in the user profile.

              Everything you can see on the Cloudron dashboard comes from the Cloudron api. So if further checks are needed I always recommend to pop out the network console and check which endpoints get requested for the data you need.

              1 Reply Last reply
              7
              • robiR robi

                @JLX89 Can you jot down what you did to make it work for others in the future as well?

                J Offline
                J Offline
                JLX89
                wrote on last edited by
                #6

                @robi So I did this slightly different than @fbartels did, which also seems to be working.

                • Add New Monitor
                • Monitor Type: HTTP(s) - Keyword
                • URL: https://my.cloudron.tld/api/v1/apps/{APP_ID}/?access_token={API_KEY}
                • Keyword: healthy
                • HTTP Options
                • Method: GET
                • Body:
                {
                    "runState": "running",
                    "health": "healthy"
                }
                

                I retrieved the AppID from going go https://my.cloudron.tld/api/v1/apps/?access_token={API_KEY}

                So far this seems to be working over the past few days.

                fbartelsF 1 Reply Last reply
                4
                • J JLX89

                  @robi So I did this slightly different than @fbartels did, which also seems to be working.

                  • Add New Monitor
                  • Monitor Type: HTTP(s) - Keyword
                  • URL: https://my.cloudron.tld/api/v1/apps/{APP_ID}/?access_token={API_KEY}
                  • Keyword: healthy
                  • HTTP Options
                  • Method: GET
                  • Body:
                  {
                      "runState": "running",
                      "health": "healthy"
                  }
                  

                  I retrieved the AppID from going go https://my.cloudron.tld/api/v1/apps/?access_token={API_KEY}

                  So far this seems to be working over the past few days.

                  fbartelsF Offline
                  fbartelsF Offline
                  fbartels
                  App Dev
                  wrote on last edited by
                  #7

                  Ah yes, I forgot that you can also add the api token as a url parameter

                  @JLX89 said in Cloudron Health Check Endpoint:

                  Body

                  Since this refers to the request body you could empty this field, as the value you have in there is simply the response that the Cloudron api would deliver.

                  J 1 Reply Last reply
                  0
                  • fbartelsF fbartels

                    Ah yes, I forgot that you can also add the api token as a url parameter

                    @JLX89 said in Cloudron Health Check Endpoint:

                    Body

                    Since this refers to the request body you could empty this field, as the value you have in there is simply the response that the Cloudron api would deliver.

                    J Offline
                    J Offline
                    JLX89
                    wrote on last edited by
                    #8

                    @fbartels said in Cloudron Health Check Endpoint:

                    Ah yes, I forgot that you can also add the api token as a url parameter

                    @JLX89 said in Cloudron Health Check Endpoint:

                    Body

                    Since this refers to the request body you could empty this field, as the value you have in there is simply the response that the Cloudron api would deliver.

                    Thanks, yes -- I actually cleared that out a bit ago to see if it works. The only downfall using the method I used, is occasionally you'll get a "200 - OK, but keyword is not found", even though the app is online and functioning.

                    fbartelsF 1 Reply Last reply
                    1
                    • J JLX89

                      @fbartels said in Cloudron Health Check Endpoint:

                      Ah yes, I forgot that you can also add the api token as a url parameter

                      @JLX89 said in Cloudron Health Check Endpoint:

                      Body

                      Since this refers to the request body you could empty this field, as the value you have in there is simply the response that the Cloudron api would deliver.

                      Thanks, yes -- I actually cleared that out a bit ago to see if it works. The only downfall using the method I used, is occasionally you'll get a "200 - OK, but keyword is not found", even though the app is online and functioning.

                      fbartelsF Offline
                      fbartelsF Offline
                      fbartels
                      App Dev
                      wrote on last edited by
                      #9

                      @JLX89 maybe you want to add a retry to this. So that it's only marked as down at the e.g. second failed check.

                      1 Reply Last reply
                      2
                      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