I hear people say that about Nextcloud often, which is part of why I haven’t bothered setting it up yet.
Is there a technical reason why it’s slow and clunky? Any problematic choices with how it was built?
It needs some tweaks to be snappy. The defaults are really bad.
- change database from SQLite to a proper database like MySQL or Postgres, and configure the database server to use your memory fully
- increase the PHP memory limit from the default (128M on many distros) to >1G, the more the better
- install APCu in-memory cache for PHP
- add Redis as additional cache
- turn off the antivirus extension, if installed (ClamAV is useless)
- use http/2 on Apache/nginx to increase performance with multiple connections
Thank you for these suggestions. But I have a few questions.
How can I do the 2nd and 3rd point if I am using docker/podman containers?
Why is ClamAV useless?
Not sure how to do that in docker, I’ve run mine as a plain old PHP-FPM site for years and years. It might be something that can be tweaked using config files or environment variables, or might require building a custom image.
ClamAV is slow and doesn’t catch the nastiest of malware. Its entire approach is stuck in 2008. It’s better than nothing for screening emails, but for a private file store it won’t help much considering that you’ll already have the files on your system somewhere. And most importantly, it slows down file uploads 10x and increases CPU load substantially. The only good reason to use ClamAV for nextcloud is if you will be sued if you don’t!
ClamAV is good for detecting simple threats. However, I hear it eats ram.
This has me curious, not to derail the topic, but I always hear that ClamAV is the best way to go for Linux. Is there a free solution that you would recommend in place of it?
I think the best solution is to use good internet hygiene
MySQL is still pretty slow
it should work with mariaDB which is faster in my experience
You can do all of that and NC will still be the piece of shirt that is it is fail to sync stuff.
You are like the most miserable poster with so many axes to grind.
Relax man.
Or one of the few people who tested the thing and spend time taking screenshots and pointing out issues unlike most others…
Git gud.
I’ve never had such an experience in 2 years
Well I only saw problems with about 1TB of small files. I’m not sure if they were actually caused by the volume of the data or because there were multiple using syncing parts of that data as well.
My setup has no where near that much data. Maybe it gets bogged down with lots of IO.
I will say caching is really important for Nextcloud to be fast
Use redis and it will feel smoother.
Yep. When I first set up my instance, I couldn’t believe how slow it was. I set up redis using the Nextcloud documentation and its like butter now.
I keep trying it every couple of years to see if it works better, but nah. Even with MySQL/PG + Redis, it’s still slow and clunky. Maybe in 2026
Nextcloud is slow and clunky if you run it on a banana.
Run it on a “normal” server and everything is smooth.
I tried running nextcloud on an allwinner RiscV chip and it was dead slow lol
In fairness anything is slow on lower end hardware. The tradeoff is that it is very power efficient
Im running it on celeron g3930 and its great. I did remove most extensions (this was the trick I believe) and using MySQL. I have only 2 users tho
Run it on a “normal” server and everything is smooth.
Sure until you try with a high end 12 core CPU on NVMe storage all kinds of caching, redis etc. and you find you it doesn’t perform particularly better.
I’m no hardware person but I don’t have redis or caching enabled and it works fine
It runs fine in a VM with a few cores, 4gb of ram and Sata SSDs
The entire Nextcloud folder is on a network share as well.
What I dont get is why so many years later, their android app still won’t auto sync
You need to configure it
Nothing to configure…you specify folders, but they won’t auto upload or download
Its not slow and clunky for me
Because SQLite is slow as balls. Use MariaDB and redis:
https://markontech.com/posts/setup-nextcloud-with-redis-using-docker/
If you want fast file sync between computers, use syncthing
* fast and reliable. Add FileBrowser if you want to have a WebUI on a central “server” to access all your files and you’ll be 100x better than the garbage that NC offers.
It has been slowly improving. It used to be a lot worse but I have a lot less issues with it now than I did before all the changes. Its not the fastest best way to do anything, there are better calendar, file sync, email etc etc applications out there in every category that run better but its also quite an easy way to make a lot of things happen.
Nextcloud is fine. Use the All-in-One master container, it’s faster than any other way I’ve installed it. I’ve tried every method from bare metal to docker to NextcloudPi and it’s the fastest and easiest to maintain.
And maybe CPU, and also need some good old fine tuning
I run the official docker with mariadb and it was never an issue for me
What’s wrong with Nextcloud, and why is it slow/clunky?
Yes it’s a pile of shit. Nextcloud is garbage, very bad usability, more reasons and issues listed here: https://lemmy.world/comment/1571886 and https://lemmy.world/comment/346174
Is there a technical reason why it’s slow and clunky? Any problematic choices with how it was built?
Yes, like every single technical decision and line of code they’ve ever made. https://lemmy.world/comment/5490189
There’s software that while good intended is simply garbage and NextCloud is a good example. They constantly market themselves as the self-hosted alternative to MS Office 365 / Google yet they never deliver.
A previous thread put it best. It always feels 75% complete.
I’ve been using it since back when it was owncloud. It never felt stable.
Finally went with seafile and it’s super fast, stable and reliable.
Seafile, that’s a name I haven’t heard in a very long time. How does that work in terms of self-hosting limitations, mobile clients and sync? Do you have any experience with Synching for instance? How does it compare performance wise?
Seafile is extremely fast. I don’t use syncthing so cant compare.
I use SSO with authentik and works very well with multiple users.
Android app doesn’t have 2 way sync if you need that (nextcloud doesn’t either).
There are no limitations with self hosted as far as I know. I just wanted a simple sync all that works with sso for multiple users and it works very well.
Great to know, last time I tried it I was running on a very weak ARM platform and while it worked way better than NC I was impressed with the performance. Thanks.
Synching is currently the fastest and lightest you will find, but the concept is different from Seafile or Nextcloud. With Synching there is no central server, you have resources (folders) shared between nodes on a peer-to-peer basis. This has several advantages, the most obvious one is that if a node goes down the rest continues working, but also that if a file is available in two or more nodes when a new node enters it will download that file from all the nodes in which it is available. As a disadvantage we could say that there is no web server where to see the shared files, so you will not be able to enter a URL with username and password and browse the files and upload or download. You will not be able to share files with third parties through a URL either.
I know exactly how Synching works, the point is not the p2p nature of it, the point is that Nextcloud’s sync performance and reliability isn’t even comparable because the desktop clients, sync algorithm and server side tech (PHP) won’t ever be as performant at dealing with files as Go is.
The way Nextcloud implemented sync is totally their decision and fault. Syncthing can be used in a more “client > server” architecture and there are professional deployments of that provided by Kastelo for enterprise customers with SSO integrations, web interfaces, user management and whatnot.
Nextcloud could’ve just implemented all their web UI and then rely on the Syncthing code for the desktop / mobile clients sync. Without even changing Syncthing’s code, one way to achieve this would be launch a single Syncthing instance per NC user and then build a GUI around that that would communicate with the NC API do handle key exchanges with the core Syncthing process. Then add a few share options in the context menu and done.
This situation illustrates very clearly the issue with Nextcloud development and their decisions - they could’ve just leveraged the great engine that Syncthing has a backend for sync but instead, as stubborn as they are, they came up with an half assed-solution that in true Nextcloud fashion never delivers as promised.
Just because it didn’t work for you doesn’t make it “shit”. I’ve been running Nextcloud for a file and it works pretty good.
I’ve posted screenshots and a lot of detailed information of it failing. It’s just not a question of personal preference, it’s most like it has old bugs that aren’t ever fixed and things keep piling.
I’ve never ran into issues. Apparently your mileage may vary
Every of your links is about the webmail app not nextcloud as a whole
There’s a lot more complains, besides the Mail “app” is a big advertised features of it and is developed by the core team.