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. App Wishlist
  3. Agate+ (dual protocol server to serve gemini/http from one source)

Agate+ (dual protocol server to serve gemini/http from one source)

Scheduled Pinned Locked Moved App Wishlist
79 Posts 5 Posters 23.1k Views 4 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.
  • L LoudLemur

    @robi The uncompleted healthcheck was the final stumbling block I had with trying to install another custom application. It was all going well until the health check, but then there was no response...

    timconsidineT
    timconsidineT
    timconsidine
    App Dev CA Maintainer Super Fan
    wrote on last edited by
    #65

    @LoudLemur for first use of a "new" subdomain (one not used on Cloudron before), the reverse proxy check can take some time. The healthcheck should be reasonable.
    I'm finding it can take 1-2 minutes for download, reverse proxy and healthcheck.
    But it does complete.
    I have not encountered a timeout on healthcheck as yet.

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

    1 Reply Last reply
    0
    • timconsidineT
      timconsidineT
      timconsidine
      App Dev CA Maintainer Super Fan
      wrote on last edited by
      #66

      Once you do get it installed, Agate+ has a useful content editor under /admin

      Screenshot 2025-07-31 at 08.22.49.png

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

      L 1 Reply Last reply
      1
      • timconsidineT timconsidine

        Once you do get it installed, Agate+ has a useful content editor under /admin

        Screenshot 2025-07-31 at 08.22.49.png

        L
        L
        LoudLemur
        CA Maintainer
        wrote on last edited by
        #67

        @timconsidine That is a helpful feature and illustrative of the consideration and understanding that went into creating the application.

        1 Reply Last reply
        2
        • timconsidineT
          timconsidineT
          timconsidine
          App Dev CA Maintainer Super Fan
          wrote on last edited by timconsidine
          #68

          Hmm <scratching head>
          I've been trying to diagnose @robi report that app installs but gets stuck in "Starting..."

          I wondered if there was a hidden issue that I was installing from CCAI on my primary cloudron to a location/url also on my primary cloudron.
          So I installed a clean fresh separate Cloudron instance as the target.

          I then used ccai.appx.uk to install 2 custom apps from the catalogue (new feature!), Raneto and Agate+.
          Both sailed through the installation, and started fine.

          So <scratching head> I don't know.

          If you or anyone has the time/inclination to try again and get the same stuck in Starting..., I would suggest :

          • checking the logs of the app from its dashboard
          • do stop/start in dashboard or Repair/Restart

          FYI :
          CCAI now on v4.0.9 and pushed to git.cloudron.io.
          ccai.appx.uk is running that version as a public hosted service.
          Agate+ still on v6.37

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

          robiR 1 Reply Last reply
          2
          • L
            L
            LoudLemur
            CA Maintainer
            wrote on last edited by
            #69

            Hey, Tim, I like the new update and now I can see we can use it to one click install FacilMaps - nice!
            Very, very nice, actually! We wanted to serve our own maps like this for ages. Now we can!

            Also, very cool, we can even use ccai to install ccai - on our own server!

            CCAI deserves a thread/discussion all of its own, I think.

            timconsidineT 1 Reply Last reply
            1
            • L LoudLemur

              Hey, Tim, I like the new update and now I can see we can use it to one click install FacilMaps - nice!
              Very, very nice, actually! We wanted to serve our own maps like this for ages. Now we can!

              Also, very cool, we can even use ccai to install ccai - on our own server!

              CCAI deserves a thread/discussion all of its own, I think.

              timconsidineT
              timconsidineT
              timconsidine
              App Dev CA Maintainer Super Fan
              wrote on last edited by
              #70

              @LoudLemur thank you 👍
              I wanted to get CCAI to a point where it would be worth making an App Wishlist for it.
              Just a few more tweaks to do.

              And need to find more custom apps to flesh out the catalogue with known/tested cases.

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

              1 Reply Last reply
              3
              • timconsidineT timconsidine

                Hmm <scratching head>
                I've been trying to diagnose @robi report that app installs but gets stuck in "Starting..."

                I wondered if there was a hidden issue that I was installing from CCAI on my primary cloudron to a location/url also on my primary cloudron.
                So I installed a clean fresh separate Cloudron instance as the target.

                I then used ccai.appx.uk to install 2 custom apps from the catalogue (new feature!), Raneto and Agate+.
                Both sailed through the installation, and started fine.

                So <scratching head> I don't know.

                If you or anyone has the time/inclination to try again and get the same stuck in Starting..., I would suggest :

                • checking the logs of the app from its dashboard
                • do stop/start in dashboard or Repair/Restart

                FYI :
                CCAI now on v4.0.9 and pushed to git.cloudron.io.
                ccai.appx.uk is running that version as a public hosted service.
                Agate+ still on v6.37

                robiR
                robiR
                robi
                wrote on last edited by robi
                #71

                @timconsidine said in Agate+ (dual protocol server to serve gemini/http from one source):

                Hmm <scratching head>
                I've been trying to diagnose @robi report that app installs but gets stuck in "Starting..."

                Same here, tried to use my.demo.cloudron.io but it fails to log in at all:
                Failed to check login status: Unexpected token '<', "<!DOCTYPE "... is not valid JSON

                I'll see if I can find another Cloudron to test with in case something is off with mine.

                UPDATE:
                Seems to be a combo with an specific browser version and my Cloudron is having issues with all apps that install/upgrade.. waiting for healthcheck.
                Sorry for the wild goose chase. CCAI install on Demo server worked just fine after using another browser.

                timconsidineT 1 Reply Last reply
                2
                • robiR
                  robiR
                  robi
                  wrote on last edited by robi
                  #72
                  This post is deleted!
                  1 Reply Last reply
                  0
                  • robiR robi

                    @timconsidine said in Agate+ (dual protocol server to serve gemini/http from one source):

                    Hmm <scratching head>
                    I've been trying to diagnose @robi report that app installs but gets stuck in "Starting..."

                    Same here, tried to use my.demo.cloudron.io but it fails to log in at all:
                    Failed to check login status: Unexpected token '<', "<!DOCTYPE "... is not valid JSON

                    I'll see if I can find another Cloudron to test with in case something is off with mine.

                    UPDATE:
                    Seems to be a combo with an specific browser version and my Cloudron is having issues with all apps that install/upgrade.. waiting for healthcheck.
                    Sorry for the wild goose chase. CCAI install on Demo server worked just fine after using another browser.

                    timconsidineT
                    timconsidineT
                    timconsidine
                    App Dev CA Maintainer Super Fan
                    wrote on last edited by
                    #73

                    @robi weird - good investigative work !

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

                    robiR 1 Reply Last reply
                    0
                    • timconsidineT timconsidine

                      @robi weird - good investigative work !

                      robiR
                      robiR
                      robi
                      wrote on last edited by
                      #74

                      @timconsidine Thanks, less than obvious with two things going wrong at the same time.

                      Have you thought about how to rapidly grow the installable App list?

                      timconsidineT 1 Reply Last reply
                      1
                      • robiR robi

                        @timconsidine Thanks, less than obvious with two things going wrong at the same time.

                        Have you thought about how to rapidly grow the installable App list?

                        timconsidineT
                        timconsidineT
                        timconsidine
                        App Dev CA Maintainer Super Fan
                        wrote on last edited by
                        #75

                        @robi well, I started to think about it.

                        I was thinking about making a search of git.cloudron.io

                        Then I thought maybe some/many would be old and packager should be consulted.

                        And we need a pre-built docker image, so next question is who should build that, I could but not sure about time available, depends on how many.
                        and maybe packager should do it.

                        Bottom-line, I ended up in a spiral of indecision !!

                        Any ideas gratefully received.

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

                        robiR 1 Reply Last reply
                        0
                        • timconsidineT timconsidine

                          @robi well, I started to think about it.

                          I was thinking about making a search of git.cloudron.io

                          Then I thought maybe some/many would be old and packager should be consulted.

                          And we need a pre-built docker image, so next question is who should build that, I could but not sure about time available, depends on how many.
                          and maybe packager should do it.

                          Bottom-line, I ended up in a spiral of indecision !!

                          Any ideas gratefully received.

                          robiR
                          robiR
                          robi
                          wrote on last edited by
                          #76

                          @timconsidine How about this..

                          A checkbox for others to choose to submit a custom app, then check if the install is successful, if so then check if it's already in your CCAI DB/list/json, if not then add it as a new addition with an installed count, plus notification if you want.

                          It would also be nice to keep the CCAI login active for 15m or so, allowing multiple apps to be installed without constantly logging in.

                          timconsidineT 1 Reply Last reply
                          2
                          • robiR robi

                            @timconsidine How about this..

                            A checkbox for others to choose to submit a custom app, then check if the install is successful, if so then check if it's already in your CCAI DB/list/json, if not then add it as a new addition with an installed count, plus notification if you want.

                            It would also be nice to keep the CCAI login active for 15m or so, allowing multiple apps to be installed without constantly logging in.

                            timconsidineT
                            timconsidineT
                            timconsidine
                            App Dev CA Maintainer Super Fan
                            wrote on last edited by
                            #77

                            @robi thank you
                            Will get on to that, working on packaging Sync-in at the moment

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

                            1 Reply Last reply
                            2
                            • L
                              L
                              LoudLemur
                              CA Maintainer
                              wrote on last edited by LoudLemur
                              #78

                              Small bug in agate+ start.sh, tmpfs wipes /tmp/proxy/ on restart


                              TL;DR: /tmp is tmpfs on Cloudron, so /tmp/proxy/*.sh vanishes on every restart. Line 52 cp fails, set -e kills start.sh before supervisord launches, nothing binds :8000, healthcheck loops forever. Wrap the cp block in if [ -f /tmp/proxy/restart-proxy.sh ]; then ... fi.


                              Hi @timconsidine! We ran into a restart loop on agate+ today and wanted to flag the cause in case others hit it too.

                              Symptoms in the app logs:

                              cp: cannot stat '/tmp/proxy/restart-proxy.sh': No such file or directory
                              => Healthcheck error: Error: connect EHOSTUNREACH 172.18.x.x:8000
                              

                              What's happening

                              In normal run mode on Cloudron, /tmp is backed by a fresh tmpfs on every container start, which shadows the /tmp/proxy/ files baked into the image. So the cp on line 52 of start.sh fails, set -e aborts the script, and exec supervisord on line 154 never runs. healthcheck.js never binds port 8000, Cloudron healthcheck fails, container gets restarted — and round it goes forever.

                              The copied files already exist in /app/data/ from the first install anyway, so the cp is really only needed on fresh installs.

                              (In debug mode the tmpfs overlay isn't applied, so the files are visible and the app starts fine, which made it a bit confusing to diagnose at first.)

                              Suggested fix

                              Guard the proxy-file copy block so it's a no-op when the source isn't there:

                              if [ -f /tmp/proxy/restart-proxy.sh ]; then
                                cp /tmp/proxy/restart-proxy.sh /app/data/restart-proxy.sh
                                cp /tmp/proxy/register-new-instance.sh /app/data/register-new-instance.sh
                                cp /tmp/proxy/deregister-instance.sh /app/data/deregister-instance.sh
                                chmod +x /app/data/register-new-instance.sh /app/data/deregister-instance.sh /app/data/restart-proxy.sh
                              fi
                              

                              Alternatively, stage those helpers somewhere persistent (e.g. ship them in /app/code/proxy/ and copy from there) so they survive the tmpfs reset on every restart, not just on fresh installs.

                              Tested the guarded version on our instance and it's back up and running cleanly. Happy to open an MR if useful.

                              timconsidineT 1 Reply Last reply
                              0
                              • L LoudLemur

                                Small bug in agate+ start.sh, tmpfs wipes /tmp/proxy/ on restart


                                TL;DR: /tmp is tmpfs on Cloudron, so /tmp/proxy/*.sh vanishes on every restart. Line 52 cp fails, set -e kills start.sh before supervisord launches, nothing binds :8000, healthcheck loops forever. Wrap the cp block in if [ -f /tmp/proxy/restart-proxy.sh ]; then ... fi.


                                Hi @timconsidine! We ran into a restart loop on agate+ today and wanted to flag the cause in case others hit it too.

                                Symptoms in the app logs:

                                cp: cannot stat '/tmp/proxy/restart-proxy.sh': No such file or directory
                                => Healthcheck error: Error: connect EHOSTUNREACH 172.18.x.x:8000
                                

                                What's happening

                                In normal run mode on Cloudron, /tmp is backed by a fresh tmpfs on every container start, which shadows the /tmp/proxy/ files baked into the image. So the cp on line 52 of start.sh fails, set -e aborts the script, and exec supervisord on line 154 never runs. healthcheck.js never binds port 8000, Cloudron healthcheck fails, container gets restarted — and round it goes forever.

                                The copied files already exist in /app/data/ from the first install anyway, so the cp is really only needed on fresh installs.

                                (In debug mode the tmpfs overlay isn't applied, so the files are visible and the app starts fine, which made it a bit confusing to diagnose at first.)

                                Suggested fix

                                Guard the proxy-file copy block so it's a no-op when the source isn't there:

                                if [ -f /tmp/proxy/restart-proxy.sh ]; then
                                  cp /tmp/proxy/restart-proxy.sh /app/data/restart-proxy.sh
                                  cp /tmp/proxy/register-new-instance.sh /app/data/register-new-instance.sh
                                  cp /tmp/proxy/deregister-instance.sh /app/data/deregister-instance.sh
                                  chmod +x /app/data/register-new-instance.sh /app/data/deregister-instance.sh /app/data/restart-proxy.sh
                                fi
                                

                                Alternatively, stage those helpers somewhere persistent (e.g. ship them in /app/code/proxy/ and copy from there) so they survive the tmpfs reset on every restart, not just on fresh installs.

                                Tested the guarded version on our instance and it's back up and running cleanly. Happy to open an MR if useful.

                                timconsidineT
                                timconsidineT
                                timconsidine
                                App Dev CA Maintainer Super Fan
                                wrote on last edited by
                                #79

                                @LoudLemur thanks - will look into it

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

                                1 Reply Last reply
                                1

                                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