Should I use Nextcloud?

Hello, we have a Windows SMB server with about 400000 files (mostly pdf and office files like doc, odt etc.) and 120 AD users that work with these file.
I need to migrate this server to Linux.

I don’t want to use Samba because the default Linux permission system sucks for granular access control.
There is also NFSv4 but from my experience NFS doesn’t work well with large number of files.

So I was thinking about Nextcloud but I’m not sure how it will work with 400k files.
Also I’m concerned about using Collabora for 120 users. From what I’ve read so far it may affect performance a lot.

Any advice?

Maybe you should get a support for the size. To get started, however, you could get a Managed Nextcloud on the Internet for a small amount of money, which you can administer completely yourself. Expect costs of e.g. 10 euros per month for a few users and a maximum of 1 TB.

You can try out everything in this test cloud. For example, you will lose there the SMB/CIFS protocol when you move the data from SMB and the users will have to use a Nextcloud client or WebDAV. You can easily try this out on the Internet on your test Managed Nextcloud.

It will look exactly the same to your goal. If you don’t like it, discard the idea of Nextcloud. This approach will save you a lot of effort and trouble. As long as you are testing, you don’t have to change anything in your old infrastructure. If you then decide to use Nextcloud, you can of course also run Nextcloud on-prem in your company.

Honost response:
If a network attached fileshare is all you need, then TrueNAS or UNRAID is probable much better fit.

Even though I absolutely loves what NC does, I loves it because of all the extras it adds on top of file management.

To allow Windows clients to use a remote fileshare, it need to be supported. There are two approaches:

  1. Native standard protocol (WebDAV, SAMBA NFS)

  2. Client based (like Nextcloud client, Google Drive Client, Onedrive Client, Dropbox Client etc).

So you will proably not avoid SAMBA or NFS. My suggestion (why I mentions the two above) is to use a solution build for best serving those two. There are other “NAS” distros out there. FreeNAS is the free version of TrueNAS, but is build on BSD (all is managed through a webbased admin console so you probably never gonna feel the difference anyway).

It does sound as you are considering using it for more, like also replacing your collaboration suite, now that you mentions COLLABORA. If that is the case, then Nextcloud is definately a good fit. However you should consider OnlyOffice over COLLABORA if performance is an issue with that many users (even though it is unlikely that all 120 users starts concurrent sessions at the same time) as the most noticeable difference between OnlyOffice and Collabora is that Collabora runs most of the heavy lifting server side, and OnlyOffice does most of the heavy lifting client side.

1 Like

+1 (full approval)

Think about what exactly you want. Feel free to consider several solutions.

Thanks everyone for the answers!

One more question: does it matter from the performance point of view if the file is open in read only mode in Collabora?

Yes, but less than edit ofc.

I don’t know that. But I think the performance is more due to the associated Collabora server. Have you ever worked with Collabora? You can create a free account at with Nextcloud Office / Collabora Online. I think there are more free Nextcloud hoster with Collabora Online.

Properly set up Nextcloud can handle anything you throw at it. One of the largest instances handles 2.2 mil users, 3.5 bil files, and 7.2 petabytes of data.

Here’s the podcast episode about it:

If this is a business-critical set up, you should consider getting Nextcloud Enterprise (doesn’t hurt to get a free quote):

1 Like

I have about 1 million files/2TB data on my small home/office Nextcloud server, old desktop hardware. So thats not a problem at all.

You need to think a bit how the files will be used. Nextcloud works great for syncing the files to desktops, where users can work locally (and don’t have to open the files via a network protocol).

Office / Collabora: I only know the “Nextcloud Office” (based on Collabora) which is shipped with Nextcloud, and is meant for small installations. I do NOT recommend that at all. It works as a great “file preview tool in the browser” (if using the Nextcloud web interface), it is ok for small changes in files from time to time - but you do NOT want to use it for actual work with documents, if you have a local installed libreoffice as alternative.

Why? Because it runs basically libreoffice on the server, and transmits the screen output to the client. So it is laggy if the network is not super fast. Not pleasant to work with compared to a local installation.

If you need to have people collaborating in a file (edit it at the same time) than a system like onlyoffice may work better (the application is rendered in the browser, only data is transmitted). I know only Google Docs from 5 years ago (which also renders in the browser), and it was much better for actually working with documents than Collabora today.

If your users normally do not work in the same time in a document than you can simply use Nextcloud to sync the files and everyone opens them locally in Libreoffice or so.

You can easily test Nextcloud also on older desktop hardware with a few GB of RAM, just install Ubuntu and follow a howto to install Nextcloud. Really easy to install, to update, runs stable for many years…

Well, I don’t think Google Docs, if you could self-host it, would run very well with a 120 concurrent users, on your typical small business server/NAS hardware. So, if you want to provide a similiar service to a 120 users, that works as well as Google Docs, you need to plan and specify your infrastructure accordingly.

You would also need to set up and maintain a separate ‘full version’ of Collabora or OnlyOffice, which comes with licence fees, either on the same physical server as Nextcloud if it is powerful enough, or on separate hardware. So it’s quite possible that the total cost of ownership of the hardware, possibly service and support contracts and consultancy, plus licensing costs, will be more expensive than a Google Workspace subscription for 120 users.

It will be even cheaper if you need Microsoft Office licences and can’t do without them. Then the Microsoft 365 cloud is practically a gift.

I disagree.

Google Docs and others like Onlyoffice render in the client browser - so all of the processing needed for a good UX happens on the client. Only data (like the content of a cell) is transmitted via the network.

Thats why e.g. onlyoffice claims that the same server hardware can handle a lot more users than a server with Collabora could.

I did work with Google Sheets 5 years ago, I used it for big sheets, several people working at the same time in it, and the experience was similar to working in a locally installed Libreoffice.

I could not get that experience with Collabora (Nextcloud Office). Even when I am the only user on the server, the server is connected via 1000mbit LAN to the same switch as my desktop computer (standing next to it).

The problem here is not load on the server or anything, it is simply a not so good UX experience when pictures of a screen are transmitted via the network - compared to local rendering in the browser.

Public cloud services may be cheaper, but they can’t be trusted very much. There is a reason why people use Nextcloud.

I maintain my small business Nextcloud on my own for 5+ years now, and I definitely safe money compared to public cloud services.

And I think also someone with 120 users can save money, even with paying a professional admin (Nextcloud does not need much maintenance).

What I would not do is to pay for Collabora licences for ALL users. Only users who must work at the same time in the same document need that. All other users are far better of with using Libreoffice locally and just syncing the files.

1 Like

Collabora is selling this as an advantage, which it certainly is for some use cases, but of course, like most things, it also has some disadvantages.

Btw, some elements like JSDialogs are now rendered client side, and generally performance has improved over the last few years, even with the “built-in” CODE server. Also the UX has become much better imho. But I have to admit, that I’m not using it all that often, as I generally prefer to work with desktop apps whenever possible.

Don’t get me wrong, if you do it right, I think that’s great, and if you manage to save some money, even better.

However, if saving money is the main, or even the only, reason for people to self-host things for their business, they should think very carefully about whether it’s really worth it. Not just because the performance or the UX and workflows might be “different” to what their employees are used to, but because they will be responsible for the availability of the services they are self-hosting, and most importantly for backup and (fast) disaster recovery. Doing these things properly doesn’t usually come for free. :wink:

I guess that makes sense :slight_smile:

Thanks for the link, very interesting!

Yes I think it improved. Years ago there where almost no menu options/edit features in a sheet, now it looks like you can do all what you can do with a local libreoffice.

I still don’t like details like thick grid lines, I did not find out how to change that in the built in Nextcloud office (in Firefox on Ubuntu):

same in Libreoffice on Ubuntu:

And also scrolling through a big document is of course a bit lagging, since the image tiles need to be loaded. So it does not beat the locally installed Libreoffice.

But it is nice to know that the architecture is good, and that Collabora is a “proper” Opensource project, compare to Onlyoffice.

The reasons why I put Collabora (and then Nextcloud Office) to my server:
Open Document formats as default (I don’t like Microsoft and tair formats that much), I was able to install it easily in Nextcloud, files are stored properly in Nextcloud in the folder where I want them to be (and not just in a separate database).