Agate+ (dual protocol server to serve gemini/http from one source)
-
Just some random things, which popped up while glancing over the current package:
Instead of https://git.cloudron.io/timconsidine/cloudron-agate-plus/-/blob/master/start.sh?ref_type=heads#L52 you could just place the logfile into
/run/..
and Cloudron will actually runlogrotate
for you out of the box: https://docs.cloudron.io/packaging/cheat-sheet/#loggingFor the http server, which is currently run as a background job of the start.sh via
node /app/code/proxy.js &
it would be better to usesupervisord
for this and also the gemini server. The reason being that if one of the processes crash, they would get autorestarted by supervisor. Without that the app would require a manual restart by an admin to restart that node process internally.Otherwise this is already looking really good!
-
I haven't got round to testing the latest agate+ yet, but one thing I can say for sure:
It was far easier to convert our astro starlight documentation to gemini-protocol format and publish them using agate as a gemlog than it was to try and publish via cubby, which we still haven't managed!
-
I haven't got round to testing the latest agate+ yet, but one thing I can say for sure:
It was far easier to convert our astro starlight documentation to gemini-protocol format and publish them using agate as a gemlog than it was to try and publish via cubby, which we still haven't managed!
@LoudLemur
I will make and publish an image after the final tweaks. -
New version of the app uploaded to https://git.cloudron.io/timconsidine/cloudron-agate-plus
CHANGELOG :
- implemented @nebulon suggestion about logs rotation
- implemented @nebulon suggestion about using supervisord
- added
/admin
page for http mode to provide basic UI for managing content (no need of File Manager) to create and edit.gmi
files and upload images
App is now a quick way to host a basic site (no fancy html/css/js blah blah) on both Gemini and HTTPS from one set of source content.
In-app content editing via
/admin
in http browser means quick and easy to update site content, even from your mobile phone 'on-the-go'.REMEMBER to change the default user/password in
/app/data/.env
using File Manager and RESTART the app.
[it's in the app dashboard checklist]. -
I have uploaded a built docker image for those who want to test without building :
cloudron install —image tcmbp132021/cloudron-agate-plus:v6.36
Not sure it helps much because you still need the Cloudron CLI with your login to your Cloudron instance, and the CloudronManifest.json locally from the cloudron git repo.
-
I have uploaded a built docker image for those who want to test without building :
cloudron install —image tcmbp132021/cloudron-agate-plus:v6.36
Not sure it helps much because you still need the Cloudron CLI with your login to your Cloudron instance, and the CloudronManifest.json locally from the cloudron git repo.
@timconsidine so far the easiest way we found was last year with @Kubernetes EasyInstall script, as you might recall.
-
@timconsidine so far the easiest way we found was last year with @Kubernetes EasyInstall script, as you might recall.
@robi yep, I need to remind myself about it.
I have a vague distant feeling that it didn’t deal with the core issue that less techie users would still struggle with it. But hey, grey hair, don’t even recall my name some days, let me review it. Maybe the truth is I didn’t understand it at the time -
I haven't got round to testing the latest agate+ yet, but one thing I can say for sure:
It was far easier to convert our astro starlight documentation to gemini-protocol format and publish them using agate as a gemlog than it was to try and publish via cubby, which we still haven't managed!
@LoudLemur hey, did you see my post about CCAI ?
You can now use https://ccai.appx.uk to deploy custom apps to your own cloudron.
Anonymous - no login details saved.Details : https://forum.cloudron.io/post/110907
-
@LoudLemur hey, did you see my post about CCAI ?
You can now use https://ccai.appx.uk to deploy custom apps to your own cloudron.
Anonymous - no login details saved.Details : https://forum.cloudron.io/post/110907
@timconsidine Hey, thanks! No, I missed that. I shall take a look.
WOW!
So all we need is to link a publicly accessible git and Docker image, and it does the magic for us?
Amazing! Surely, there must be more to it than that...?
-
@timconsidine Hey, thanks! No, I missed that. I shall take a look.
WOW!
So all we need is to link a publicly accessible git and Docker image, and it does the magic for us?
Amazing! Surely, there must be more to it than that...?
@LoudLemur basically yes, simple as that, "magic" is behind the scenes
I'm cautious about the word "link", could be understood differently.
CCAI does this :
- asks for :
- your cloudron domain e.g. my.cloudron-instance.tld (never stored)
- your user name (never stored)
- your password (never stored)
- your 2FA code (if you've enabled this, otherwise leave blank)
If it logs in successfully,
- asks for :
- git repo of the target custom app, e.g. https://git.cloudron.io/timconsidine/cloudron-agate-plus
- prebuilt docker image, e.g. tcmbp132021/cloudron-agate-plus:v6.36
- location where you want the custom app to deploy, e.g. your-gemini.your-domain.tld
- any port binding needed : optional in most cases, also optional for your first installation of Agate+, but subsequent instances need "GEMINI_PORT=1967" or higher number
So it's a bit more than just linking, but it's much easier than installing and using CLI, installing and using docker to build, installing and using a docker registry.
-
CCAI now has an "app picker" to populate necessary install data fields.
@LoudLemur Agate+ is one of the custom apps in the list
So is @DidierMalenfant Agate package, which is great for dedicated gemini site hosting.
-
CCAI now has an "app picker" to populate necessary install data fields.
@LoudLemur Agate+ is one of the custom apps in the list
So is @DidierMalenfant Agate package, which is great for dedicated gemini site hosting.
@timconsidine Exciting!
I like the idea of that App Picker!I see it and tried, however it failed as another installation to the same cloudron was already in progress.
(I have been trying to package and deploy another custom application. I thought that process had ground to a halt, but the notification indicates that tcmbp thinks it is still trying...)
-
@timconsidine Exciting!
I like the idea of that App Picker!I see it and tried, however it failed as another installation to the same cloudron was already in progress.
(I have been trying to package and deploy another custom application. I thought that process had ground to a halt, but the notification indicates that tcmbp thinks it is still trying...)
@LoudLemur errr
No idea, sorry
Have you tried doing one at a time ? -
@LoudLemur errr
No idea, sorry
Have you tried doing one at a time ?@timconsidine I got the same message.
I tried to login, failed the first time, fixed typo from entered data, logged in.
Selected your agate+ package, then got the message it's already in progress.
Thoughts:
See if the error state is interfering between tries.
Make sure to clear it on every submission, not just starting over.
It's annoying that each field starts with capital letter on mobile.
Would help to have ports prefilled like in your app.Update: tried again from scratch, no error modal, still got the failure.
Then switched to the other agate app and got this: Unsupported git hosting service.Doesn't like self hosted domains other than github and cloudron. Lol
I'd upload a screenshot but can't seem to paste or upload from this mobile browser.
-
This post is deleted!
-
@timconsidine I got the same message.
I tried to login, failed the first time, fixed typo from entered data, logged in.
Selected your agate+ package, then got the message it's already in progress.
Thoughts:
See if the error state is interfering between tries.
Make sure to clear it on every submission, not just starting over.
It's annoying that each field starts with capital letter on mobile.
Would help to have ports prefilled like in your app.Update: tried again from scratch, no error modal, still got the failure.
Then switched to the other agate app and got this: Unsupported git hosting service.Doesn't like self hosted domains other than github and cloudron. Lol
I'd upload a screenshot but can't seem to paste or upload from this mobile browser.
@robi thank you for the analysis
Yes,
unsupported git hosting service
is the critical error. I will remove the standard Agate package from the list until I can confirm Dider's git details.@DidierMalenfant what is the git service behind "https://code.malenfant.net/didier/agate-app " ?
I can try to add support for it.
Also does it need port binding to be set ?I will check my Agate+ settings again.
-
Agate+ installed using https://ccai.appx.uk/ and the nice, new "Quick Setup" option.
-
The port field 19XX was a bit confusing. If you leave it like that, the installation doesn't work. For the quick setup, how about suggesting 1965 and a note/tool-tip for changing this if needed
-
I don't think that ccai checks to see if another installation is happening at the same time before attempting to start. In something like a college setting, lots of people might be trying to use the same service at the same time in a class.
-
The reverse proxy for additional servers is a nice tool. I tried using the terminal as suggested to setup an additional server using the initial one as a reverse proxy, but it failed.
/app/code# register-new-instance.sh
bash: register-new-instance.sh: command not found -
-
I could not replicate the errors.
So I tweaked the CCAI installer to be more aggressive on clearing past installation attempts, as robi and loudlemur mentioned multiple attempts.NB : if you're doing repeat installs, it's definitely worth using the
[Start Over]
but maybe you did.NB : when installing to a subdomain not used before, Cloudron's reverse proxy registration can be variable (fast to slow). Patience required
I also cleared Didier's package details until they can be verified.
I used CCAI to install a new instance of Agate+ and made a video.
Note : for the first installation of Agate+, the port binding needs to be clear or set to
GEMINI_PPORT=1965
.
For additional installations, port binding needs to beGEMIN_PORT=1967
or higher if you have other installations. And in your first installation of Agate+, register your 2nd etc instance. See POSTINSTALL.md in the 1st instance, which is shown on the app settings dashboard.No privilege to post the install demo here, so it's over here : https://ccai-demo.appx.uk/
This might flush out any difference in the way I am doing it.Other thoughts :
- use
[Start Over]
between install attempts - reload or force reload the browser page between install attempts
- check in your Cloudron whether an app was created despite failed install, and manually uninstall it through the Cloudron app dashboard before trying again
- use