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

Using a cloud-init startup script for new VM / VPS deployments

  • Has anyone had any experience with booting new VMs / VPSs' with Cloudron by way of a startup/cloud-init script?

    Many VPS providers like DigitalOcean, AWS, Linode, LunaNode, etc (links directly to their feature documentation on startup scripts) include the ability to run startup scripts though they often all name it differently (Linode for example calls them "StackScripts").

    Anyways, thought I'd ask as I was just thinking a fun little project may be to build a script to run which automatically installs Cloudron at time of deployment (rather than after-the-fact as is the usual use-case). This is more for fun really, a quick learning project for myself, nothing I absolutely require by any means. πŸ™‚

  • I tried and failed at that on a few, so just ended up doing manually.

    On this subject though - I think hosting partners that have Cloudron as an install option would be a good value-addition.

    They ought to pay for this sort of thing, they pay for all the other server manager platforms. Could be quite lucrative, which is good for reinvestment.

    Recommend you and anyone here email each provider's support, detailing Cloudron setup for VPS as a feature request. Even if they don't, their techies might like the look of it and join the club.

    More people that ask, the more attention Cloudron gets.

    I had a good conversation with the CEO of Upcloud, nice guy, I'm certain he'd be open to it. DM me if anyone wants his email to try.

  • Most of the founders of these hosts are active on Twitter too, worth some tweets @mentioning the platform and founders handles, they often respond.

  • @marcusquinn Ah darn, okay good to know. I ran some tests too and couldn't get it to work at all (almost as if the startup script didn't run), but have further testing I want to do.

    I currently use LunaNode and made them aware of Cloudron a while back when I posted on supporting automatic LunaNode DNS via their API (and linked them to it as well).

    I'll maybe reach out to them too after I've run some more tests on getting a startup script to work for their VMs to boot with installing Cloudron (and if I get one that works of course I'll share it here too).

  • Staff

    @d19dotca We are already on DO and AWS market place. We are working with the linode guys at We are also in touch with upcloud. If you know folks at LunaNode, we will happily work with them to get a 1-click image or equivalent.

  • @girish just to clarify, I’m not really looking for a one-click-image more so than trying to create one myself in a way using startup scripts. More for me to learn how to do it. πŸ™‚

  • @girish I just looked at what you did for Linode on GitHub, and that may actually help as it’s a similar script to what I tried in my tests but not the same so I’m maybe missing some of what you did there. Specifically referring to the file. I’ll try that out. πŸ™‚ Thanks for sharing the GitHub link.

  • I recently signed-up to netcup (thinking of perhaps having my backups stored there instead of on Hetzner where my primary VPS is - although I also pay Hetzner for their native backup solution too for good measure, and occasionally run a snapshot as well) and I noticed that I could choose for Cloudron to be automatically installed, and so I did. But I've not actually even gone to the relevant url/ IP to complete the installation yet as not sure which url to use for it πŸ˜› (and just not got around to it).

    Saying that, the UX of Hetzner is so much better than Netcup (they weirdly and confusingly make you pay 6 months up front even though you can cancel at any time and be refunded down to the hour) that I actually found the whole process of doing it manually on Hetzner easier!

  • FYI - I was able to get this to work with the following startup script which I borrowed from the Linode StartStack on GitHub.

    set -eu
    chmod +x cloudron-setup
    ./cloudron-setup --provider generic

    It worked after a while, I think before I just wasn't waiting long enough for it and was also looking in the wrong area for the logs of the startup script.


    Happy this works now. I'll keep this in my repertoire to save some time if I ever need to spin-up a new Cloudron quickly.

  • Will be interesting once we can do Cloudron within Cloudron.

  • @d19dotca
    Many provider use build-from-snapshot feature, so you can use a pre-installed image with cloudron.

  • @MooCloud_Matt Yes that's true too, but that wasn't what I wanted to achieve in this case. πŸ˜‰ I was specifically trying to teach myself how to use a cloud-init script / boot script, it was a learning project. Always trying to learn new things. πŸ™‚