Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I run Nextcloud on a Pi 4 and it's a struggle to get acceptable performance out of it. The ecosystem is nice, but I would absolutely trade a few less plugin for a smoother file management experience.

I will definitely be checking out OCIS, assuming I find no reason for concern from a license / privacy / security scale.

Golang isn't an automatic guarantee of performance, and "microservices" has me pause in the context of a personal server, but it happens that most of the Golang-based applications I host tend to perform extremely well. This coming from someone who strongly dislikes the "simple is better than correct" design of golang.



The problem is probably the pi4.

I run nextcloud 20 on a i5-3470 CPU @ 3.20GHz (2c/4t) and for a small use case it works very well. The storage is a rotational (magnetic) hard drive (2TB, seagate barracuda, with zfs 0.8.something)


FWIW I always had performance problems running nextcloud on cheap VPSes while owncloud behaves more smoothly. Anecdata though.


Maybe I hadn't been sufficiently clear: the hardware I mentioned is physical hardware, running at home.

No virtual OS or sharing the physical cpu with other tenants.

Cheap vps provider often do overselling on the bet that most customers won't be actually using the cpus in user-space 100% of the time (and that's often true). If your provider isn't doing anything nasty, you should be able to see "stolen time" (often indicated with 'st') in top/htop: that's when your vm wasn't actually scheduled on the real cpu.


I am inclined to believe you. I am giving nextcloud another try this weekend on my pi (I just found out about nextcloudpi).

edit: Aaaaand nextcloudpi is stuck in an endless loop after first login. What was I expecting.

https://help.nextcloud.com/t/docker-install-says-initializin... And I am not the only one. I'll try again in a year or two.

edit2: doesn't explain why owncloud runs smoother than nextcloud though. They must be doing something right.


I just wanted to add some additional things:

- from what I see owncloud is now written in go whereas nextcloud is still PHP. That might give it a performance boost on a raspberry pi (it basically avoids all the overhead from reading and byte-compiling all the PHP files on every request)

There are things that you can do to speed up nextcloud though:

- look into php byte-code caching (opcache and stuff like that)

- make sure your database indexes are set up correctly: I can't remember where in the admin ui (I'm on the phone rn) but there's some sort of self-test/diagnostics page that will tell you about database indexes to create (and the SQL commands to run too, iirc)

- you can tell nextcloud to use a redis for caching too, that could give an additional performance boost

But yeah, again, the raspberry pi isn't really that good for this kind of things. For pretty much the same (total!) Price of a RPI and related accessories I'd get something like a Lenovo m93p tiny off eBay and slap an SSD into that. You'd get proper performance albeit with a higher tdp.

I hope this helps :)


Thanks, I'll apply those tweaks next time I try nextcloud.

I am mainly working with docker on VPS/remote server now so if the image isn't tuned I'd have to dig into it and maintain it.

Owncloud 10.6 still uses PHP, I think so far only enterprisesomething versions are using Go.


On a whim I tried the vps docker setup on the pi. Runs much smoother (seems like the db was the bottleneck but).

edit: Aaaaaaand now I can't login because I foolishly tried to setup webdav and nextcloud is adding 30 seconds to my login and it never actually cool downs. Why do I even bother.


> The problem is probably the pi4.

Jellyfin (NET Core backend with SPA client) runs quite well off my Pi4, even without hardware decoding.

If the device can stream 1080p video, it should be able to serve an online file explorer.


Keep in mind that streaming video likely translates to a read-mostly and sequential-read workload for the underlying storage, and that's really an ideal use-case for storage (you can do stuff like file-system caching, stream buffering and file read-ahead).

Things like nextcloud/owncloud are a lot more random-io-bound, if you think about it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: