Every piece of Nextcloud documentation I see mentions setup for dynamic dns as most people do not have a public facing static IP, and then proceeds to give instructions for setup for with DDNS.
It would be nice if the official documentation also had instructions for those of us with a public facing static IP, my ISP has given me one, and I would like to use it with my own home based nextcloud server.
As seen in official documentation below there is a mention of static ip’s, but no instructions on how to setup with a static ip.
As well as informing me here on how to setup nextcloud with a static IP can some one from nextcloud also update the above linked official documentation.
Afaik the official nextcloud docs have no detailed information regarding the network side of things. Neither for Dynamic DNS nor for static IP addresses. That’s because this part is not specific to Nextcloud. And you should at least know the basics about how the Domain Name System, NAT, routers and firewalls work, before you make anything availiable to the public internet.
This is not the official Nextcloud documentation. It is the documentation of NextcloudPi, an appliance whose goal is, to make it easy for home users to host their own Nextcloud server.
Anyways… Basically It works exactly the same as it works with a dynamic address, minus the part with the DDNS service, because you obviously don’t need such a service with a static address. To keep it simple: Set a DNS A record for cloud.yourdomain.tld which points to your external IP. Forward Port 80 and 443 to your server and your set as far as DNS is concerned.
Do I need to have a domain?
Can I just set a port on my static IP address and selfhost an ssl certificate?
Sure you could use a self signed certificate. But that gives you and your users certificate warnings in browsers and client apps. In general it is best practice to use signed SSL certificats like the ones from Let’s encrypt nowdays. Especially when it comes to a service like Nextcloud, with which you probably want to use files with many diffrent apps and probably share things with other people too.
In general you will have less problems and annoyances with a proper signed certificate. The best example is Chrome, which no longer allows to save exceptions for self-signed certificates. You would have then to click on “Allow” every time you want to visit your own cloud.
And I honestly don’t see any reason why you shouldn’t use a domain name. If costs are a concern… You can get a Domain name for less than 10$/year.
I use a free .tk domain for my nextcloud, there may be other options, but that one was convinient for me.
If you are luxery enough to get a public and static ip adress you just have to set an A-Record to your IP adress and your done. If you setup the Record after the first setup please add your domain in the config of your nextcloud.