There are even solutions that automate a lot of the configuration for such a setup. I'm using Pangolin for example:https://github.com/fosrl/pangolin
But you could set up something like this manually if you want more flexibility (pangolin is based on traefic rather than Nginx)





There's also SoftMaker Office
It's not open source and it costs money, but it's European (German) and it has really good MS office compatibility