So far my experience with Nextcloud has been that it is a pain in the arse to install, and once it’s installed is slow as anything. Literally couldn’t run it on my pi 3b, now got it up and running pretty nicely on a NUC but it’s still not great. Have caching set up.
I have the notes app installed on my android phone and I can never used rich text editing because it gives timeout error.
This shouldn’t be this complicated. All I want is to de-Google my documents and notes, and self-host my kanban. I don’t really need the rest though it’s nice to have the options.
Do people use alternatives? Am I doing something completely wrong? I set it up using nginx which I know is not supported, but the alternative using Docker AIO didn’t allow me to use custom port easily.
Just want to say that I’ve been there. There was a time my Nextcloud install was incredibly slow. Fortunately (or unfortunately?), it is featureful enough and widely supported that once you figure this issue out, it is a nice service to keep running.
For me, adding Redis was essential. It doesn’t really make sense to me why (nothing I do on Nextcloud is intensive or data heavy) but it has greatly improved the performance of my app.
My entire setup is a containerized Nextcloud, Nextcloud Cron, MariaDB (if I knew Postgres was an option, I would’ve chosen that), and Redis:
version: '2' services: nextcloud: container_name: nextcloud image: nextcloud:27-apache restart: unless-stopped environment: - MYSQL_PASSWORD=nextcloud - MYSQL_HOST=db - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud labels: - 'public-service=true' - 'traefik.enable=true' - 'traefik.http.routers.cloud.rule=Host(`nextcloud.some.domain`)' - 'traefik.http.routers.cloud.tls=true' - 'traefik.http.services.cloud.loadbalancer.server.port=80' volumes: - /some/data/dir/nextcloud/data:/var/www/html - /some/external/dir:/wew:ro nextcloud-cron: image: nextcloud:27-apache restart: unless-stopped command: [/cron.sh] environment: - MYSQL_HOST=db - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud - MYSQL_PASSWORD=nextcloud volumes: - /some/data/dir/nextcloud/data:/var/www/html - /some/external/dir/:/wew:ro db: image: mariadb:10.4 restart: unless-stopped environment: MYSQL_DATABASE: nextcloud MYSQL_USER: nextcloud MYSQL_ROOT_PASSWORD: nextcloud volumes: - /some/data/dir/nextcloud/db:/var/lib/mysql mysqldump: image: mariadb:10.4 depends_on: [db] # restart: never # cronjob labels: - 'cron.schedule=0 0 8 * * ?' entrypoint: [mysqldump, -h, db, -u, nextcloud, -pnextcloud, --all-databases, -r, /out/nextcloud.sql] user: root volumes: - /some/data/dir/nextcloud/db-dump:/out redis: image: redis restart: unless-stopped
Yes, redis should be part of the standard install. Not doing it is just setting yourself up for disappointment.
Also I believe postgress has better performance than mariadb so no reason not to use that if you are setting it up from scratch.
Pg has significantly better performance in a smaller self hosted environment. Notably because you’re doing a balance of reading and writing, or mostly writing since data changes regularly. For large scale operations where reading data is the primary use, MariaDB/MySQL is faster.
For speed Seafile absolutely smokes Nextcloud.
If you create an account they’ll give a pro license (limited to 3 users) for free. Or you can stick with the always free community edition which works great too.
I use Syncthing for my files, I don’t need a Web ui so it’s great and handles huge directories easily.
I have had issues with nextcloud breaking randomly every time ive tried it. The thing I wanted the most was the caldav/webdav to integrate with Gnome and Davx5 (and finally kill google calender), and to get that I tried Owncloud instead. The UI leaves a lot to be desired but if you only use the *dav functionality it works like a charm. It also has a mobile app for syncing and several extensions but I havent delved into them.
If you only need cardav/caldav functionality, Radicale provides just that. Can be deployed as a container and works flawlessly with DAVx5.
I guess you are doing something very wrong if you have such performance trouble all the time.
The Pi (up to 4) is known for bad disk I/O. Look into this area first.
I am running my nc on a weak old low power deskop CPU (and with real SATA harddisks) and only when I ask for long running jobs (like, create the previews and icons for 200 new photos) I can watch any slow responses at all.
I’m not using a Pi, I’m using a j4125 based mini computer, which has made a big difference but the performance just still is not good enough.
I’ve also had nothing but troubles with NC. I tried the AIO option and while it was easier to setup, it was still slow on both a VPS and my local unRAID server. I find that if you’re simply using it as a sync point for apps instead of regularly using the web portal, it’s ok. Seafile is insanely fast. But it stores the data in chunks on the server which some do not like as it can complicate backups. I work around that by just backing up from one of my always on clients since the seadrive client mounts the chunks into usable format. That works great.
Then again, NC is way more app than I need.
Pydio and Seafile are alternatives I’ve tried. Pydio was pretty fast too. I agree with you on Nextcloud, I want to like it but I inevitably start having issues and it’s slow even after tuning. It just tries to do too much and shouldn’t be that complex to spin up a file server.
To be honest I’m not interested in the file sharing side of nextcloud as I use Syncthing, I’m more interested in the utilities (eg notes, kanban) and the office capabilities. I want to replace gsuite
cryptpad si quite good
Nginx is supported and a good choice. What database are you using? I’d recommend MariaDB.
The documentation says nginx is not officially supported: https://docs.nextcloud.com/server/19/admin_manual/installation/nginx.html
I am using mariadb
Ah right, sorry; the company doesn’t support it directly but the docs provide an example. To me as tinkerer that was solid enough 😂😅
It runs quite nicely on my Pi 3 with Apache and no Docker. I only use cloud storage, but the rest seems to work fine if needed. Maybe switching to a supported configuration would help?
Go for the AllinOne (AIO) Installation! Had huge performance issues first (Nextcloudpi Docker & normal Nextcloud Docker) and none with the current install.
You get a self servicing (updates/installation/etc.) docker install with backups and administration portal.
From the instructions it looked like anything other than the default ports is not supported in AIO. I want to host other sites on this server without much complication.
So use a reverse proxy like Nginx Proxy Manager
Yes, a reverse proxy can fix this issue.
I am actually in a clinch with my nextcloud experience and found some different ways to handle this. My plans (tests looks good) is to simply use a small free nextcloud provider just to handle caldav/carddav/notes and stuff without all my data. Just enough to get everything synced.
For my data I plan to use ocis. It’s a long year rewrite of owncloud getting rid of PHP and hassle. It’s just a single binary. Docker support, too, but it needs some extra steps to initiate, unfortunately. But the experience is fast, modern, clean and simple. Without to much bloat.
Wdym nginx is not supported? It very much is. Nextcloud is a pain to set up but after fiddling with settings for a day or two you can get it working smoothly. In my experience there are no good alternatives to it.
The documentation says it is not officially supported: https://docs.nextcloud.com/server/19/admin_manual/installation/nginx.html
My bad, thought you meant support as incompatibilities. Offical support doesn’t matter much to you since you are not using an enterprise license.
Synology is the answer.