Multi Tenancy

Hi everybody,

we have one Server for multiple clients and their domains. They all use Nextcloud with Contatcs/Calendars which offers CalDAV/CardDAV. To seperate them we installed multiple Nextcloud Instances in multiple (sub)Domains VHosts in this form: cloud.client1.domain, cloud.client2.domain a.s.o.

To let the clients use ActiveSync for their mobile devices we also installed z-push multiple times for being able to configure multiple, independent CalDAV/CardDAV backends, as the config has to point to the correct vhost domain name regarding the “SERVER_NAME” config variable so the clients are directed to their correct Nextcloud Backend.
This installation works as expected.

First question: Is it correct, that this setup cannot be achieved with just one instance of z-push cause of the fix server name variable in the CalDAV / CardDAV Backend config? Or can the SERVER_NAME var be set to the value, the mobile device sends?

Second question: As of Z-Push 2.4 there are no tarballs for installation but it is recommended to install the Distro Package from the repositories. In this case, there is no way to install z-push multiple times with different configurations on the same server, is that right?

Thx in advance for your thoughts
Tomcat

@t0mcat said in Multi Tenancy:

this setup cannot be achieved with just one instance of z-push cause of the fix server name variable in the CalDAV / CardDAV Backend config? Or can the SERVER_NAME var be set to the value, the mobile device sends?

No, I cannot imagine that you can achieve the desired setup just with one unmodified installation of z-push. But technically its likely possible to implement some sort of user to specific backend mapping.

@t0mcat said in Multi Tenancy:

but it is recommended to install the Distro Package from the repositories. In this case, there is no way to install z-push multiple times with different configurations on the same server, is that right?

Similar to a WordPress package that you would download from your distribution, the z-push packages are indeed only designed for a single tenant per installation. But instead of the distribution packages you could still a git checkout of your desired release.