Alternatively, you could use a self-signed certificate. Alltough I wouldn’t recommend this for production use, especially if you want to share files with other users, because with self signed certs they will get a security warning whenever they visit your site. However for testing purposes it is perfectly fine.
As I understand it, the “One Click” Apps use a normal Debian or Ubuntu VM and then automatically install the application on it via a script. So it should be possible to log on to the Linode machine via SSH and then follow these instructions…
Self-signed certificates are not considered insecure because the encryption would be less secure, but for various other reasons that could be discussed here at length. Here are a few arguments and reasons Why Self-Signed Certificates Are Evil – Revocent
The following two points are relevant in this context for you
A connection directly to the IP address is only possible with either no encryption or with a self-signed certificate. No CA in the world will issue a certificate to an IP address… see also the explanations in the link above.
DNS is not (primarily) needed for security. But the domain name, which you need to get a signed certificate (e.g. Let’s Encrypt), needs DNS. Otherwise, your browser or applications cannot know which IP address to connect to, when you enter the domain name.
I don’t use Linode myself. But they also offer Domain registration and DNS services. The easiest way is probably to register the domain with them and use their DNS Manager. Then you could use the instructions @devnull linked, in order to add it to the already existing installation. Or simpley recreate your Linode instance, after you registred your domain name and set up your DNS…
You can set in your domain setting a CNAME for cloud.domain.tld to your IP address. Then use the name cloud.domain.tld for your nextcloud and ssl settings. If Linode does not support it you can perhaps install own certificates from Lets Encrypt. With root access perhaps with “certbot”.