Best way to deploy NextCloud 16 for a Managed Service Provider (multiple clients)?

Hi,

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.

Thanks

Hello, and welcome to Nextcloud!

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.

Best of luck to you!
mactrent

1 Like

that depends on your client needs. or?

if you want to automate your installation:

or on docker

both could be modified to install multiple instances of nextcloud to one server.

and what about kubernetes?

3 Likes

@nqserv and the third one:

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 his client are only uploading some picture from their mobiles they wonā€™t see the difference between docker and lxc. i guess.

if his client are big corporations, internatiol players, i would still suggest a kubernetes cluster.

@nqserv about what are we talking here?

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.

1 Like