I already read here some topics about my question, but all where related with āoldā NextCloud versions. Now that v16 has been released I wanted to know what is the best way to be a NextCloud Managed Service Provider to multiple clients.
In a simple way, I have multiple clients and each client is a different company. I want to offer them a hosted fully managed NextCloud service. So, to do that do I need one NextCloud installation for each client or can I just buy a big server, make one NextCloud installation and inside that single installation add multiple clients/companies.
Of course, privacy is a major factor and since they are different clients/companies they cannot have access to others files or users.
Iām not sure if you found this thread while searching, but itās still fairly recent, and I donāt think NC16 changes things substantially on this front.
Building separate Nextcloud installations (usually on Docker or similar, behind a shared reverse-proxy) is viable, but not usually worth the duplication of effort. Youāre likely going to get similar results by disabling sharing with other groups, so that users from different companies donāt show up in suggestions.
There are a few apps and settings that canāt be changed independently, but thatās the exception rather than the rule, and Iāve yet to come across a show-stopper. Your mileage may vary.
Personally I would run different installations in separate containers on one machine. Docker is an obvious choice but I personally prefer Ubuntuās LXC (i.e. LXD) as itās as fast as metal whereas Docker has overhead. You can create just one container and clone it so easily using ālxc copy ā¦ā that the effort is less than trivial.
Totally agree about LXD. Iāve got a small hosting system thatāll run in as little as 200MB of ram (when using SQLite) and I use LXD for testing the system with some scripts that set up the Ubuntu server system automatically. Adding Nextcloud to any vhost, with itās own uid:gid, is just a āaddncā script invocation away. Also ideal for those who want a local mail server for Nextcloud in a LXD container on their desktop machineā¦
Every containerization tech have an overhead. It however may be less noticeable than Docker.
For example just like a ārealā solid container takes more resources than itās contents verses a plastic bag that barely takes up more resources than itās stored contents.
If you wanted to (and didnāt mind maintaining several Nextcloud instances), you could install Nextcloud in multiple folders or subdomains on the same host. This wouldnāt require any virtualisation, and they could share the same database and memory caching instances.
Yes you are right, but with LXC it is not user noticeable. You have to run analytical tests and take careful measurements. I will change my statement to āalmost as fast as bare metalā as I donāt want to create distractionary thread here.