I’ve recently migrated away from iOS to GrapheneOS and I need a way to have a family shared calendar and reminders. I’m thinking NextCloud because I don’t really know of anything else.
I’ve been doing some research and I’m a bit overwhelmed since I have never self hosted before and I’m not too familiar with these technologies. I have an old HP ProDesk with an old i3, 4GB of RAM, and 120 GB SSD that I was hoping to use intermittently until I get a newer machine. I want to be able to expose the instance to the wider internet so we (my partner and I) can access it on the go, but I’m worried about messing it up. I was reading that I need a reverse proxy as bare minimum, but do I also need fail2ban, Anubis (or Go Away), and special UFW rules? I got as far as installing NextCloud with podman on Ubuntu Server 26.04.01 LTS and I can access it locally, but I’m not sure how to get move forward.
Ideally I would like to have a bash script that sets everything up with user data being handled by an external drive so I can easily reproduce it to a new machine later down the line and facilitate backups. I’m not married to Ubuntu and I am open to using something else.
I also want to run other self hosted open source services like Navidrome, Yamtrack, Standard Notes, etc. Any guidance would be appreciated.
Nextcloud is fine without Anubis since everything is behind a login.
Yes, you need a reverse proxy. Also you need a public IP which not all ISPs offer. If you have one, you have to forward port 443 to the reverse proxy in your router config. That means someone who tries to connect to your router on port 443 will be forwarded to the reserve proxy who checks which domain was looked for and forwards to the actual Nextcloud.
You’ll need a domain pointing to your public IP. That IP may change, so you need an automation that updates the DNS records (known as dyndns). When you’re selecting a registrar, look for one that has dyndns support (you can use different nameservers but that’s unnecessary extra steps).

