Hey there!
I just wanted to share a bit about my experience as a hobbyist and self-hosting enthusiast. While I may not be the most educated on the topic, I've been able to self-host my favorite services to avoid relying on big companies like Google and Amazon.
A few years ago, I started my self-hosting journey with Nextcloud, and it completely blew my mind. Finally, I didn't have to rely on Google Drive anymore!
However, I quickly realized that using a Raspberry Pi made things a bit sluggish. I tried upgrading to a more powerful machine. Still slow. I then tried with an i5-4460, but it was still slow and buggy. I even tried an i3-10100, and it was still a bit of a pain to use. It seems like many others feel the same frustration, so I know I'm not alone. I often wonder how some other people claim they have no issues with Nextcloud, but hey, good for them!
Because of the tinkering it seems to need, I feel like I don't have enough time and knowledge to make Nextcloud work as smoothly as I'd like, which defeats the purpose of self-hosting it.
That's why I've been exploring other options. I gave Seafile a shot, but couldn't figure out how to solve a "CSRF verification failed" error. Projectsend and Xbackbone are great, but they don't quite match what I'm looking for. I also tried Cloudreve, but I wasn't a fan of its sorting philosophy. I did find Picoshare, which I stuck with, but for a totally different purpose.
Then, I tried ownCloud for the first time. Wow, it was fast! Uploading an 8GB folder took just 3 minutes compared to the 25 minutes it took with Nextcloud. Plus, everything was lightning quick on the same machine. I really loved using it. Unfortunately, there's currently a vulnerability affecting it, which led me to uninstall it.
I also gave OCIS a try, and it felt even faster. The interface was smooth and fluid, it was truly impressive. However, with the recent news of it becoming part of Kiteworks, I'm a bit unsure about its future.
I can't help but wonder why so many people have been raving about Nextcloud all these years when ownCloud performs so well right out of the box. I'd love to hear about your experience and the services you use. Share your thoughts!
Nextcloud is very quick IF you don't mind applying extensive PHP and web server optimizations. This takes time and may have to be redone after upgrades depending on what changes. This is why I don't really recommend it to those just looking to self host a simple file server.
Yeah, that's exactly what I'm struggling with here. It's a bit counterintuitive for newcomers and not really friendly for beginners.
I'm just wondering, what is your process for those optimizations? Did you happen to follow any specific documentation or resources?
The two main sources I used for initial setup was the nextcloud tuning guide and Carsten Rieger's guides which are always changing, here is the current one (in German but easy to translate).
Thank you !
I messed that up soooo many times it's not funny. I eventually gave up after spending two weekends on setup and just went with vultr and a turnkey solution.
Even then it's probably still slower than everything else is out of the box.
Just no. What do you consider "applying extensive PHP and web server optimizations" tho? Even allowing PHP to use 10GB of RAM and infinite input time doesn't get the job done.
That might tell us more about how badly your php process manager and/or db connection handler is set up, seriously. I run nextcloud "natively" (no docker, no nonsense) on hardware that was modest 15y ago (Intel Atom/2GB RAM), and it's pretty good.
Yeah sure. I'm not the only complaining as you can read on this post and I've tried it in multiple ways, multiple configurations from the defaults to the absurd abnormalities like the one you commended and it doesn't make much difference. Unfortunately NextCloud is garbage, get over it.
Also your comment tells me that you're full of shit, because you're implying that both a generic Docker setup and mines are all shit. You can't have it both ways. What are you suggesting? That the NC guys made a bad job out in their Docker images?
How many users? How much data?
Btw do you use the webmail at all or are you about to tell me that these screenshots are hallucinations?
I'm not saying that you are the only one complaining, but from what I can tell, most people in your situation are deploying their instance from "cookie-cutter" docker images. In practice, it often means that the same machine end-up hosting multiple web servers, database servers, application servers, etc etc. And those servers are developed around heavily-optimized event loops that assume direct access to the full server resources. So if you want predictable and good performance, there's no way around tweaking some knobs and be very mindful of how each and every service is deployed alongside the next one. And of course, you can't trust someone else to know better than yourself what's running in your box (not even the nextcloud developers) and which service should get preference over what under heavy load.
Nextcloud has that against itself that it uses advanced php features and large objects that need to be cached at different layers. That makes it a slightly more complex app than your go-to php CRM, but it's not unheard of either (you'd be at the same spot hosting a large mediawiki or wordpress).
Does that make it garbage? Well, you are entitled to your own opinion, of course.
Do I deserve the insult? I answered the docker part, though. In general, I'd say that you are better-off not using docker in PROD , unless you have the time and energy to spend rebuilding images to make them fit your pre-existing deployment (what nobody does), and then invest the time in fine-tuning through multiple containers (which very much goes against the "fire and forget" mindset of most docker users).
About a dozen, 2TB, upwards 700k files
I'm definitely not using the webmail. If you have performance issues, you should rather start with just the "core" (i.e. files) and add on incrementally.
And again, I'm not saying that nextcloud doesn't deserve being optimized, or somehow be made more foolprof. I too went through a phase of "that can't be real, this cannot be that slow" and walked my way out of it.
The thing is that I have experience with other complex or high usage PHP applications and I know how to optimize things. What I see in NC is poorly structured code, warnings and erros thrown around left and right. The OP also said that ownCloud gave him a much better experience out of the box, and that's still a "complex" PHP application.
It doesn't make sense some stuff like this to happen:
Or the screenshots I showed before.
Well, on my instance, logs are pretty quiet and I am not a PHP developer to form an opinion on the overall architecture. But if you take the time to write down what you feel is wrong with the nextcloud codebase, I'm pretty sure many people (and me first) will read it with interest and perhaps even do something about it (typically the kind of "HN frontpage" content, if it's well written).
Last I heard of ownCloud, people were saying that it had been rewritten in go or something similar. Funny bit of history, nextcloud forked off of owncloud, got a ton of mindshare in the early days, and quickly became the better/faster of the two (perf was one compelling reason for me to migrate back then). I wouldn't mind NC following suit (in the end, we benefit from this type of competition).
I don't plan on ever using it, but thanks for the heads-up. That said, if you feel that roundcube performs better, it happens that someone has packaged it for NC, so you should be able to use that instead of the troublemaking client.
The Go rewrite is another version, not what the OP is using.
That doesn't make it all good, you lose the integration with other NC features.
Interesting. Were the apps/features installed comparable between the OC and NC instances? I can't even find an "email" equivalent app for owncloud from their marketplace.
I don't want to sound like I'm coming in defence of NC, but I'd be curious to find an as factual as possible comparison between "bare-bones NC" vs "bare-bones OC".
“bare-bones OC” sync seems better.