I would like some ideas or suggestions as I am not sure how to continue with self hosting.

I want to self host images and caldav, maybe documents later as well. These would need to be continuously available to PC clients and Android. There would be a handful of users maximum.

The obvious (?) solution would be Nextcloud, which would do everything I need.

My problem is that I have only one public IP address and the HTTP and HTTPS ports are already in use by Apache.

The second problem is that I already use wireguard to another location, and Android cannot connect simultaneously to several wireguard endpoints. At least as far as I know.

Below, I list the approaches I have considered and the problems / drawbacks I see.

Please comment if I am wrong about something here.

At the moment I am looking at option 4.

Any comments are welcome!

  1. Nextcloud AIO publicly available through HTTPS

It needs the HTTP & HTTPS ports which are in use. Otherwise, this would be the go-to for me.

  1. Nextcloud AIO through wireguard

I would have to switch between two wireguard instances on Android. There would probably be continuous connection errors and sync problems on apps that try to connect to either location (nextcloud and davx5 for example).

Setup would be a bit compilated for me. AFAIK, I would have to set up a local DNS, self made certificates and a reverse proxy for the Apache server.

Setup would be complicated for all other users as well and require wireguard and manually installed certificates.

  1. Nextcloud AIO with tailscale

Setup complicated like #2 and then some?

I have no idea if it works while using the android wireguard app for the other connection I need.

  1. Radicale and Ente publicly available

As far as I know, these run on special ports that are not 80 or 443.

Server setup would be slightly complicated.

Client setup would be simple.

Document sync I would have to figure out later (maybe just syncthing or otter setup?).