Nextcloud offers some great functions when it comes to sharing data in your local network. I mainly needed a tool to sync a calendar on my network with my devices. I was also thinking about a lighter software like Baikal, but the installation of most of the others seemed more difficult to me than nextcloud, so I choose this.
I used the snap package of nextcloud, so I did not need to do a lot of configuration for the server and it is just ready to start. Have a look at the snap installation.
Connecting calendar clients
I connected an android client, evolution and an ios client. The connection of the android device and evolution is pretty easy, it just works if you create a new calendar using the provided link. For android you have to use the software DAVx5 to establish a connection.
On ios the connection only works with https enabled (I did not find another way to set it up, if you know, please share). Therefore you need to set up https using snap. (if you run into problems on your pi, maybe have a look here) After this you can simply create a new caldav-connection on your ios device. In my case it also worked directly with the basis url (e.g. https://yourdomain.com/nextcloud) without the other adresses the manual wants you to use.