this post was submitted on 07 Mar 2024
85 points (100.0% liked)

Selfhosted

45971 readers
1131 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

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?

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 57 points 1 year ago (5 children)

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

https://docbot.onetwoseven.one/services/nextcloud/

[–] [email protected] 7 points 1 year ago (5 children)

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?

[–] [email protected] 17 points 1 year ago

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!

[–] [email protected] 3 points 1 year ago

ClamAV is good for detecting simple threats. However, I hear it eats ram.

[–] [email protected] 2 points 1 year ago (1 children)

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?

[–] [email protected] 4 points 1 year ago

I think the best solution is to use good internet hygiene

load more comments (1 replies)
[–] [email protected] 3 points 1 year ago

Out of curiosity, why isn't this stuff done by default?

[–] [email protected] 3 points 1 year ago (4 children)

You can do all of that and NC will still be the piece of shirt that is it is fail to sync stuff.

[–] [email protected] 14 points 1 year ago (2 children)

You are like the most miserable poster with so many axes to grind.

Relax man.

load more comments (2 replies)
load more comments (3 replies)
load more comments (2 replies)
[–] [email protected] 27 points 1 year ago (2 children)

Likely because it's mainly written in PHP and the default database is SQLite, which is not great for large deployments.

But I use Nextcloud daily on a low end machine and I don't think it's that bad.

[–] [email protected] 6 points 1 year ago (1 children)

SQLite sure but I doubt PHP has any negative impact.

[–] [email protected] 3 points 1 year ago (1 children)

PHP for sure can have a negative effect depending on how they are handling their data access through.

The application code itself running on PHP probably isn't a problem but the influence that PHP may have over your data access patterns can be a source of significant performance problems.

[–] [email protected] 4 points 1 year ago* (last edited 1 year ago)

but the influence that PHP may have over your data access patterns can be a source of significant performance problems.

Let me rephrase that for you: the influence that poorly written PHP code, an utter and total disregard for good software development practices and the general ineptitude shown by the NC developers have over your data access patterns is the source of significant performance problems. We also have to consider all the client side issues, poor decisions and a general lack of any testing.

Fixed :)

[–] [email protected] 2 points 1 year ago (1 children)

Likely because it’s mainly written in PHP and the default database is SQLite

Maybe the issue isn't the technologies but rather the complete and utter ineptitude of NC's developers and bullshit decisions their business team makes. Every tool is a great tool if you know how to use it properly.

[–] [email protected] 4 points 1 year ago

Idk man, runs great on my Proxmox machine

[–] [email protected] 22 points 1 year ago (6 children)

Nextcloud is slow and clunky if you run it on a banana.

Run it on a "normal" server and everything is smooth.

[–] [email protected] 12 points 1 year ago (2 children)

Yeah, and don't pretend that comparable software like Google Drive, Sharepoint or Dropbox is faster.

[–] [email protected] 5 points 1 year ago (3 children)

I compare it to a samba or (s)ftp share. I wish it was similar in speed and ease of use.

It's become better since I migrated over to PostgreSQL. But it's still not great.

[–] [email protected] 10 points 1 year ago (1 children)

Why would you compare to something so utterly different?

[–] [email protected] 5 points 1 year ago (1 children)

I'd argue that the primary function of Nextcloud is to serve files. Of course the other services lack other stuff, which is why I'm still using Nextcloud. But I still wish its performance was similar to pure file servers.

[–] [email protected] 8 points 1 year ago (1 children)

I think the file server analogy isn't really fair. Nextcloud is better compared to Microsoft 365 or Google GSuite.

All of these offer file storage, but also much more.

[–] [email protected] 3 points 1 year ago (2 children)

Sure. But serving files is the core functionality of Nextcloud. You can remove every other functionality. But the files app cannot be removed.

[–] [email protected] 4 points 1 year ago

I agree. They're suffering from feature creep I fear

load more comments (1 replies)
[–] [email protected] 3 points 1 year ago (1 children)

PostgreSQL is definitely a boost to performance, especially if you offload the DB to a dedicated server (depending on load, can even be a cluster)

Nevertheless, it probably has much to do with how it's deployed and how many proxies are in front of it, and/or VPN. If you have large numbers of containers and small CPU/low memory hardware, and either running everything on one machine or have some other limitations, it'll be slow.

Admittedly, I'm not very familiar with the codebase, but I feel Apache isn't improving the speed either. Not exactly sure how PHP is nowadays with concurrency and async, but generally a microservice type architecture is nice because you can add more workers/instances wherever a bottleneck emerges.

[–] [email protected] 4 points 1 year ago

Apache is plenty fast enough for self-hosting scenarios.

load more comments (1 replies)
load more comments (1 replies)
[–] [email protected] 3 points 1 year ago (1 children)

I tried running nextcloud on an allwinner RiscV chip and it was dead slow lol

[–] [email protected] 2 points 1 year ago

In fairness anything is slow on lower end hardware. The tradeoff is that it is very power efficient

load more comments (4 replies)
[–] [email protected] 21 points 1 year ago* (last edited 1 year ago) (1 children)

I assume it's just not built to be fast, because it's still slow even with MySQL, Redis, high PHP memory limits, a fast CPU and NVMe storage, and so on.

Last time I tested it I had a load time of 1-2 seconds just to bring up the files interface, it feels laggy no matter what. And syncing a folder with ~50k files and 40GB or so in size takes a very long time compared to Syncthing or just syncing over SMB.

load more comments (1 replies)
[–] [email protected] 17 points 1 year ago

Use redis and it will feel smoother.

[–] [email protected] 8 points 1 year ago

Its not slow and clunky for me

[–] [email protected] 8 points 1 year ago (1 children)

If you want fast file sync between computers, use syncthing

load more comments (1 replies)
[–] [email protected] 8 points 1 year ago

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

[–] [email protected] 6 points 1 year ago (12 children)

What I dont get is why so many years later, their android app still won't auto sync

load more comments (12 replies)
[–] [email protected] 6 points 1 year ago

https://downloadmoreram.com/

And maybe CPU, and also need some good old fine tuning

[–] [email protected] 5 points 1 year ago (1 children)
[–] [email protected] 3 points 1 year ago (2 children)

PostgreSQL makes it faster still.

load more comments (2 replies)
[–] [email protected] 5 points 1 year ago (1 children)

I have been running nextcloud for some time, it was running very quickly. But the v28 update seems to have broke some of the extra apps, like groupfolders.

That said, it's very much a system that needs good hardware to run it well

[–] [email protected] 3 points 1 year ago

Yeah, it's been broken since v27. I'm still on v26 because of this.

[–] [email protected] 5 points 1 year ago* (last edited 1 year ago) (3 children)

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.

[–] [email protected] 6 points 1 year ago* (last edited 1 year ago) (2 children)

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.

load more comments (2 replies)
[–] [email protected] 4 points 1 year ago (9 children)

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.

load more comments (9 replies)
[–] [email protected] 3 points 1 year ago (1 children)

Every of your links is about the webmail app not nextcloud as a whole

load more comments (1 replies)
[–] [email protected] 4 points 1 year ago

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.

[–] [email protected] 4 points 1 year ago

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.

[–] [email protected] 4 points 1 year ago* (last edited 11 months ago)

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:

Fewer Letters More Letters
Git Popular version control system, primarily for code
HTTP Hypertext Transfer Protocol, the Web
NVMe Non-Volatile Memory Express interface for mass storage
SSD Solid State Drive mass storage
SSO Single Sign-On
VPN Virtual Private Network
nginx Popular HTTP server

6 acronyms in this thread; the most compressed thread commented on today has 4 acronyms.

[Thread #580 for this sub, first seen 7th Mar 2024, 12:55] [FAQ] [Full list] [Contact] [Source code]

[–] [email protected] 3 points 1 year ago

I run the official docker with mariadb and it was never an issue for me

load more comments
view more: next ›