Drone
-
@msbt you don't really need an app for that, you can just run the docker runner on your cloudron host. I am using https://github.com/fbartels/cloudron-drone-app/blob/master/runner/docker-compose.yml along with a
.env
file with my server specific values. -
@fbartels I'm trying to have a complete deployment solution for static pages, like Directus + Gitea + Drone (with Agents) + Surfer on one server which can be given/rented to the customer when the site is finished, so they can have everything in one place and can build/update the website(s) themselves. Would be nice to have it in the GUI (and there's a dashboard on :3000 if you set credentials, right?) and have the possibility to restart if need arises without sshing onto the box. But if it's too tricky or crazy effort, your suggestion will probably be the way to go
-
@msbt the webinterface on the runners is only for debugging as far as I know. So they do not really need to be reachable from the public internet. The only important thing is that the runners can reach the "dashboard" to get job information.
I have runners deployed on a few machines, even had it running on my laptop.
And one of the Drone jobs indeed builds a hugo blog and then deploys it via surfer.
-
@fbartels thanks, it does work indeed, I even used your
cloudron-surfer
image to deploy a demo Hugo to a surfer instance.Although I would still find it a lot more practical if the runner was an actual part of cloudron, so we go full circle and have all the benefits, like when you migrate everything on a new machine
-
@msbt True. The best part about runners though is that they need barely any config and don't need to store much at all. It is very scalable. As for my image, I do need to fix that. I've been slammed with projects and life lately but I'm trying to get to everything I've said I would do lol
-
@atridad If you detail out some steps of what needs doing, perhaps someone can chip in at the repo you specify.
Many hands make short work.
-
@robi Just added that. Thing about this repo is hopefully making it more viable as an official app. One thing that I think would help is support for required environment variables when installing specific apps. Similar to how the ports are defined. That would let us specify the gitea URL and the OAuth info.
-
-
@atridad Replying to your post in my feature request here to keep it in the drone thread. It might be able to make the runner work too?????
https://docs.cloudron.io/packaging/addons/#docker -
Is anyone aware of the licensing changes to Drone? There are some notes here - https://laszlo.cloud/drone-community-edition-what-is-included
There is a fork of drone now called woodpecker ci. I opened a request for that here https://forum.cloudron.io/topic/7186/woodpecker-ci . From https://woodpecker-ci.org/faq#why-is-woodpecker-a-fork-of-drone-version-08, "The Drone CI license was changed after the 0.8 release from Apache 2 to a proprietary license. Woodpecker is based on this latest freely available version."
-
@girish yes, I've been following the woodpecker project also already for a while. it seems quite active. On the other hand I have not noticed any limitations in my usage of Drone so far. Also the "agent less single node" limitation is something I cannot confirm, multiple runners here without any problems.
-
-
@msbt yes, I would imagine that one could wrap the agent into a Cloudron app, but I honestly do not see that much of a value to it.
Reasons:
- the agent does not have a webinterface by default (but one can be enabled with https://docs.drone.io/runner/docker/configuration/reference/drone-ui-disable/)
- the agent does not store anything, so needs no backups
- needs manual configuration for address of drone server and shared secret anyways
I just have a small docker-compose.yml on any system that I want to act as a runner (my laptop, desktop, ..., even on my cloudron instance).