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

SOLVED cloudron-setup has no documentation for "provider" options

  • Trying to get started, as the promise of Cloudron is to provide self-hosting for cloud services (at least, as I was pitched 😉 ). Less than zero interest in using any cloud server provider.

    The first thing required by the Setup script -- before you can even get the script to run -- is a "provider" option. However, there's no documentation W H A T S O E V E R for this option. I tried "--help" at first to see if it would explain the options, or even what the question is asking (is it asking for a music service provider? internet service provider? food service provider? ELABORATE on the question, please!).

    I had no direction to what to pick or when to pick the "Generic" option. Didn't even know what that means, and I also didn't know what 9/10 of the available options were even referring to.

    I know my domain is bought through Godaddy, so I was looking for the Godaddy DNS option there, as the docs dive head-first from "run this command line with options a/b/d/g/b/sb/sdf/generic and when it comes back, read on!", right into DNS options, so I thought it was referring to DNS.

    Could you just take a few minutes and write a couple more lines in this page explaining what the heck the "provider" option refers to?

  • Staff

    @FalconFour Thanks for trying us out. It's clear that I wrote the docs making many assumptions about the reader 🙂

    provider is just a flag to indicate where your VPS or server is located. If it's not in the list, just choose generic. So, the install is simply:

    ./cloudron-setup --provider generic

    No other options are required.

    For some background, when we started Cloudron, we had to put in a lot of hacks for every infrastructure provider out there. The ubuntu on hetzner was slightly different from ubuntu on aws was slightly different on OVH and so on. So, the setup script had a bunch of hacks based on the 'provider' argument passed to it. AFAIK, there is no way to automatically determine where a server is running i.e if it's on OVH/Hetzner/DO/AWS. Today, we don't use that flag at all but it's still there in case we need to put in some hacks 🙂

    After the install script finishes running, it will reboot the server. After the reboot, visit https://IP in the browser. At that point, you can put in GoDaddy information.

    Hope that helps! I will fix the docs to provide above info.

  • Staff

  • Woohoo! Yep, I set it up with the "generic" option. Almost immediately ran into an issue with the installer backgrounding a text-UI yes/no prompt that it never answered (so it hung), with the UI written into the log file hovering over the "no" box... but... after Ctrl+C'ing out of it and trying again, it worked.

    Now I'm stuck trying to get cert set up. Let's Encrypt seems not to be responding... just hangs at "renewing certs" and visibly 1% on the progress bar forever. Hmm...

  • Staff

    OK, we got this sorted out 🙂

  • @girish said in cloudron-setup has no documentation for "provider" options:

    Today, we don't use that flag at all but it's still there in case we need to put in some hacks

    Does this mean (I think it does), given my Cloudron server appears to be running fine, that it makes zero difference that when installing on my Hetzner Cloud VPS I used generic instead of hetzner as the provider? (at the time I didn't realise Hetzner were in the list!)?

    Or might there be some reason why I should delete and start again and next time specify that Hetzner is the provider?

  • Staff

    It does not make much difference for most cases, the provider flag is there to be able to do provider specific quirks and code paths, where applicable. We had more in the past though and at the moment it is not really used, but we keep it to be able to put some back if need be. As an example the backend to get the public IP address used to be provider specific as for example EC2 had its own way to determine that compared to DigitalOcean.

  • FWIW, does make it clear what the provider is:

    Install Cloudron on your server
    Create a fresh Ubuntu Bionic 18.04 x64 server and run these commands
    chmod +x ./cloudron-setup
    ./cloudron-setup --provider [digitalocean,ec2,generic,ovh,...]
    A domain is required to install Cloudron.

    I guess you could change the --provider option to --vps_provider to make it more clear. But it's pretty clear, especially for anyone who has already provisioned themselves a VPS, I would think. I'm just thinking that changing it will most likely end up with someone else not liking it, and then you change it, and then someone else.... TBH, do you really want to start replicating all the Digital Ocean tutorials here? That said, you all show incredible patience and a helpful attitude with all the questions that come your way. Good job!

  • @nebulon said in cloudron-setup has no documentation for "provider" options:

    It does not make much difference for most cases

    Thanks, I gathered that.

    But what I'm asking about is my specific case, not the general case.

    For someone like me, who has used Hetzner cloud to install their Cloudron server, is there any benefit or advantage to have used:

    ./cloudron-setup --provider hetzner

    Instead of

    ./cloudron-setup --provider generic

    I used that latter because at the time I didn't realise Hetzner was included in the list of potential providers. Does it matter/ make any difference?

    Would there by any benefit to me starting again from scratch any using --provider hetzner instead? If so, I wouldn't mind doing that given you've made the process so simple. But if it doesn't make any difference I'll just leave things as they are.

    Out of interest, where can I find the full list of providers?

    Many thanks!

  • Staff

    As said, currently it does not make a difference, but it might in the future. Instead of reinstalling, you can just adjust the value stored in the database by running the following on your server:

    mysql -uroot -ppassword box -e "UPDATE settings SET value='{\"provider\":\"hetzner\"}' WHERE name='sysinfo_config'"

    Please note that adjusting database values like this is highly dangerous, as there is no value validation happening, so don't attempt to change anything else 🙂 If we hit common use-cases to change values, we will add a UI to change it in the dashboard.

  • @nebulon said in cloudron-setup has no documentation for "provider" options:

    currently it does not make a difference

    @nebulon said in cloudron-setup has no documentation for "provider" options:

    you can just adjust the value stored in the database by running the following on your server:
    mysql -uroot -ppassword box -e "UPDATE settings SET value='{"provider":"hetzner"}' WHERE name='sysinfo_config'"

    OK great, thanks.