view the rest of the comments
Selfhosted
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:
-
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
-
No spam posting.
-
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.
-
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
-
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
-
No trolling.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
Some people have luck like this and guess they're the ones advocating. I first had a hand-installed instance with all the recommended optimizations like Redis, and then I started fresh with Docker + Redis. In both cases, after 10-15k files it was extremely slow. Both on server hardware with plenty of RAM.
To be totally fair, in my long history with it, I've been complaining more about the bad performance of nextcloud than the opposite (I still do), but things improved quite significantly after I moved (a long time ago) to postgresql+pgbouncer, which made it acceptable. Tuning did the rest.
There can be several reasons why your experience with nextcloud is not optimal. For instance, if you have a slow mechanical drive and a weak 2-cores CPU like I do, it's enough to hit a large folder with many pictures for the first time to have it grind to a halt: the server will become IO and CPU starved while php-fpm fork bombs (on a default config) way too many imagemagick processes to render miniatures of the photos, which, when those are large, will make sure to eat the little amount of RAM you had left, further pushing you into swap and memory-compression territory, making things even worse IO & CPU-wise. This is easily mitigated by rendering the miniatures asynchronously via a cronjob and making sure that there is a reasonable limit to php-fpm's parallelism to keep your app, navigation and overall system responsive.
Honestly, this is basic sysadmin/tuning stuff, that only you (with the knowledge of your hardware) can do right (and should do, the reward is immense). And it might very well be that nextcloud is (much) more demanding than other apps due to its inherently bad design & stack. It does the job, though, and isn't afraid of taking hundreds of thousands of files.
I've got the cron job and used Postgres in my previous instance. Limiting fpm concurrency is good insight, Ihavee not done that.
But do you know what works without all that and loads instantly? Photoprism.
Fair. Like I wrote previously (either here or in another thread) it's likely that most self-hosters would at some point consider nextcloud given how versatile it is, and then it pays-off to tune for your config. If you do without, good for ya!