Nextcloud AIO, tail scale, reverse proxy and VPS

Understand that today is the first day that I have set up a virtual machine on a VPS. It’s also the first day that I’ve configured a reverse proxy. So I am sort of newbish. It took me most of the day, but I finally got Nextcloud AIO running well on the VPS. Right now I can access it at https://cloud.mydomain.com. The Caddy reverse proxy and Nextcloud AIO are both running on the VPS.

While I was messing around today, I figured out how to get Caddy (in Docker on my VPS) to forward http://music.mydomain.com to the music server that I have running at home. I did this by adding the VPS to my tailscale network and having the Caddyfile point those requests at the Tailscale name and port of the music server.

So, once I got Nextcloud AIO running, I messed around a bunch and I’m very impressed. I’d like to host it at home to take advantage of my machine with more RAM, faster CPU and way more storage on the HDD, similar to how I can access my music server through that domain. But the issue is that Nextcloud was way more complicated to setup than my Navidrome server.

What should I read to understand how to do the same thing for my Nextcloud server? Would I follow directions for a local instance, since Tailscale makes everything “local?”

I barely understand all the network stuff because Docker documentation says that it bypasses the ufw firewall, but regardless, I had to open some ports on the VPS to get Nextcloud to work. Maybe that was because of how I had the docker-compose.yml set up with the network_mode: "host" directive…

I figured I’d ask here for some direction and hopefully save me some heartache. Thank you for any help!

No, don’t use the local instructions for your use case.

Hosting it at home will be more similar to the VPS setup, but with two main differences:

  • private IP addressing (other than on your reverse proxy’s external facing interface)
  • you’ll probably have to poke a hole or two in your public facing Internet router