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!
view the rest of the comments
Currently working to move away from Nextcloud myself, it's PHP nature causes IO storms when it tries to check if it needs to reload any code for incoming requests.
You can optimize php a lot for performance. See my config https://gitlab.melroy.org/-/snippets/91
Yep, those values are actually somewhat tame compared to my own cache tuning, the issue remains that the code requires reloading PHP files from disk during runtime in order to support applications and updates, which - even if it doesn't happen often - causes IO storms that temporarily break both Nextcloud as well as other software.
No. That is why I shared my configs. With opcache and opcache.validate_timestamps = 0 you don't have this problem anymore.
Of course you also need to enable opcache itself as well.
Or you have really slow spinning disks or something. Also be sure to use php 8.4.
Again, it works until it requires reloading, i.e. the next update of any component or the next restart of the server.
I'm also running an inode cache on the client side, on top of the persistent opcache, but due to the sheer number of files that Nextcloud consists of it still generates a frankly ridiculous amount of calls when it needs to invalidate the cache. If you're running on local drives then that's likely much less of an issue, regardless of what kind of drive it is, but this is hosted on machines that do not have any local storage.
Uh I see.
Eh, my Nextcloud LXC container idles at less than 4.5% CPU usage ("max over the week" from Proxmox). I use PostgreSQL as the backend on a separate LXC container that has some peaks of 9% CPU usage, but is normally at 5% too.
I only have two users, though. But both containers have barely IO activity.
Oh yeah, CPU usage is basically zero, and memory usage of the PHP code itself is also basically nil compared to other software I run. It's just the sudden storms of IO requests that causes issues, and since those come over a network pipe it causes issues for other pieces of software as well.
I see some CPU and memory usage on my setup... but I don't even see any IO!
Literally, the IO chart for "week (maximum)" on Proxmox for my Nextcloud LXC container is 0, except for two bursts, of 3 hours of less each. (Maybe package updates?)
The PostgreSQL LXC container has some more activity (but not much), but that's backing Nextcloud and four other applications (one being Miniflux, which has much more data churn).
Are you looking at data rates or IO operations? Because this is almost exclusively stat queries, i.e. inode queries.
I was looking at the Proxmox graphs. Now, looking at
iostat
,r/s
measured over 10s hovers between 0 and 0.20, with no visible effect of spamming reload on a Nextcloud URL. If you want me to run any other measurement command, happy to.Interesting, that's definitely not what I'm seeing from regular use. Are you running any added applications? LDAP? SSO? External mounts?
I use LDAP auth, but no SSO or external mounts. Actually, I tested external mounts, but they gave me bad vibes, although they are interesting.
The other thing, I just run a preview generator application, no other plugins.