Just had NextCloud denying my credentials (not for the first time). I know they weren’t wrong because I’m using a password manager. Logs didn’t say much. Was about to reinstall (again, not the first time nextcloud went bonkers on me) before I tried a docker compose down && docker compose up. Lo and behold after a restart the credentials worked again.
This stuff is just way too flaky for something so important.
Is OwnCloud good again? My main usecase is saving photos but I don’t want them locked away in a database so SeaFile is out.
Edit: I’m going to take the time to reply to you all, bit busy with work and family suddenly. But a little update - I’ve quickly setup Immich and fired up the CLI to import my library. AFAIK the files are still stored on disk somewhere but metadata is in a database. I didn’t realize this before, knowing that I think my mind is made up and Immich is the best solution. Thanks everyone!
I almost don’t dare to say this, but I’ve been running the snap for more than a year and have no complaints.
Too daring of you to say snap
Glad someone said it out loud 😁 I’ve been running the snap for almost three years now 24/7. I works really well!
You installed nextcloud with snap? HOW DARE YOU!
6 years here and went from ubuntu 16 to 22
I’ve been on the snap version for three years with zero problems. It was originally created as a VM on virtualbox, then ported over to proxmox. Every OS and instance upgrade has gone off without a hitch so far.
I’m not done but I’m so tired of just stupid error messages that don’t help from developers. I love the open source community but for gods sake devs, handle your errors in a format that makes sense.
Nextcloud or others, it’s always the same. I either get a 200 line stacktrace that means absolutely nothing to me because the dev didn’t bother to handle the exception (like you submit a form and get a null reference back. It sure would be nice to know what field was null) or of course the infamous “Exception occurred” and nothing else.
My favorite was I tried to submit to Jellyfin a fix for one of their very opaque exceptions, keep the stack trace but rewrite the error message like “x exception occurred, do you have permissions to do that?” Or something and the PR was rejected. I just can’t even with that
I’m also a develop and my philosophy is that stack traces are for the developers but they should be translated to informative error messages for the user. Otherwise you’re doing security through obscurity.
My favorite was I tried to submit to Jellyfin a fix for one of their very opaque exceptions, keep the stack trace but rewrite the error message like “x exception occurred, do you have permissions to do that?” Or something and the PR was rejected. I just can’t even with that
Out of interest, which PR was that?
It’s uncommon to rewrite exception messages to be user friendly, they are for developers. The exception shouldn’t be thrown in the first place if it’s a common issue or the error message should be more generic for unhandled problems.
I strongly disagree with this, any error message shown to the user should be helpful to the user
I think you misunderstood, this is about exceptions, which shouldn’t be shown to users unless they ask for it.
Exceptions are not helpful to users most of the time, as shown above. They need instructions on how to report issues instead since they most likely can’t fix an unhandled exception by themselves.
Underrated comment.
To put it into user perspective:
Exception X with error code xxx means Y. Y should be shown via a modal dialog to the user. The state of the application has to be reverted to a valid state as error handling.
The exception/error gets logged, the user doesn’t receive a exception but the interpretation of the error is shown to him via the UI.
ehh I try to keep me here and my real github separate. I’m all for exception messages being for developers especially in logs, but things also shouldn’t error silently either. This was a case where there was something different with my OS I was running and I wanted to show an error that there was a common reason for that exception being thrown. This was years ago though, so I don’t remember details
Most likely you got blocked for some time by the brute force prevention. Have a look at your logfiles.
I haven’t got this kind of issue with nextcloud, I’m pretty sure you can reset your password using occ via cli
I’m using the LSIO docker image and I could not locate the occ file to fire off the reset - but even then - I didn’t need to reset my password anyway…
That’s your problem, just there: you deployed a one size fits all blackbox of a container that, by definition, on top of pulling all the inefficiencies and redundancies of docker, isn’t tuned for your specific hardware and operational needs. I get the appeal of containers, but if you want to self-host responsibly, you’ve got to be in control of what’s running and how.
Sorry if this sounds harsh.
I honestly don’t see how my issues are related to docker. Sure the occ app was missing (or I just couldn’t find it, but the conclusion was that I didn’t even need it)
I’m running Linux so there’s not really any inefficiencies in regards to resources AFAIK - it’s just namespaces and cgroups.
I could give you plenty of reasons why you would be worse-off deploying from docker without deep understanding of what’s going on, but to only list a few out of the obvious pile:
-
your container ships a bunch of things that you do not need and that take-up significant server resources. Not just nextcloud apps that you will never need but get loaded nonetheless, but also things like redis and a full-fledged collabora server that only make sense in a large-scale instances.
-
your container isn’t tuned for your server because whoever made the container had no way to know that in advance. For instance, It might be that your php-fpm forks beyond your multithreading or IO capabilities, that your application cache isn’t adequate wrt. your system’s RAM memory, etc
-
your containers duplicate functionalities from each other and from the operating system. You don’t need more than one http server, database, application process manager, interpreter, … but they add-up nonetheless and reduce the pool of available resources from the rest of the system and containers.
-
use immich for photos.
owncloud ocis works but is very young. is literally just file hosting with something to open office files online.
https://github.com/simone-viozzi/my-server
those are my configs. you have both immich and owncloud.
My problem with nextcloud is more the performance of the web interface rather than it’s reliability (and that’s even with
mariadb
+redis
setup and a decently fast minipc). It’s fine if you avoid the web interface, but that’s part of the draw of the thing.MariaDB runs like hot garbage with Nextcloud imo. I’ve gotten to the point where I use legit MySQL or PostgreSQL and performance is night and day. I have no idea why Maria acts out with Nextcloud for me, but I’ve gotten tired of troubleshooting it.
Interesting. MariaDB was the path of least resistance for me but I normally prefer PostgreSQL. I’ll put it on the list.
The poor performance carries over to the sync clients too because they’re just using webdav http requests. Nextcloud will take like 10+ hours to sync my folders, vs about 10 minutes with Syncthing or something else.
I’ve never really needed the web interface once everything was setup. Mobile app syncs my images and then I browse files through synced desktop clients. Never had any issues this way. I guess I’m not using the extra features some may be after in the webui.
The performance is indeed pretty terrible. Most stuff runs fine on my NUCs except nextcloud. Maybe throwing more hardware at it solves it though.
As someone with a beef server: Nope, performance stays unsatisfactory. Redis helps a lot but only if the page is cached which tbh just makes the experience worse if the page isn’t cached
Edit: I’m using the AIO installer though, as discussed elsewhere in this post that might be the root cause of the poor performance, will check on the weekend by installing nextcloud manually in a fresh vm
I am using nextcloud for years now with postgres, redis and configured PHP setttings, but I installed it on the host. Never had any problems, Performance is awesome… Almost everytime I read about problems is with the docker images. The new AIO image shall be bad too, but I can not say anything to this, since I don’t use it.
I really like docker, but sometimes it is better to install on the host directly or use an LXC if you need isolation. MinIO is the same… Would not want it in a Container
Maybe seafile could be an option for you 🤔
deleted by creator
So, now’s as good a time as any to ask. Why is everyone using Nextcloud? I’ve been quietly using Owncloud for a very long time and never had any issues with it. How is Owncloud bad?
Owncloud is not fully open source. Nextcloud is. They have developed in different directions since then, but that remains the fundamental difference that split them apart in the first place. If that matters to you, Nextcloud is the right choice. If that doesn’t matter to you, then use whichever you prefer and has the features you need.
This is a good summary, but the Tl;DR is that Owncloud has a non-open source Enterprise version with extra features you need to pay for, while Nextcloud is a fully open source fork.
Maybe Immich might be a fit fit
I’m giving this a try now - it’s true it still saves the files on disk somewhere right? AFAIK at least so, this fits my requirements.
The installation instructions talk about the yaml amd env file to dowmload and edit, in one of those you specify explicit path of where your files go
Yes it does, you can back up the files externally and everything if needed. You can also import external directories of existing photos.
I just implemented authentik SSO for Nextcloud and other apps and it’s made my life easier.
Thats frustrating
I second the notion that your ip was banned by nc’s brute force detection
The silent reconnects of a DAVx client on a phone could easily trigger this
You can whitelist your home routers ip in the config IIRC Maybe not on the LISO container though, IIRC it is less configurable, but doesn’t “just work”, I’d ditch that not nextcloud
Quick fix could be to “DELETE FROM” (or “TRUNCATE” if you are certain nobody is blocked correctly) the table bruteforce_attempts (or smth similar). Although that “dc up && dc down” worked could indicate another issue, as you do seem to have persistence with your db in a docker volume (cred are still there) which would mean the time penalty ran out during restart or oits somethimg else
In my experience, Immich is way better for Photos.
For photos, I’d highly recommend checking out Photoprism.
the “PhotoSync” app available for both android and apple can sync from your phone to photoprism.
But, nextcloud itself, works pretty nice for me. But, I use OIDC-based logon, with Authentik.
Would highly reccomend https://immich.app/ too. It’s the solution I’ve finally landed on after trying out most of the options out there.
Maybe try https://github.com/kd2org/karadav if you want to continue using the NC apps for photo backups.
Is it measurably better? From a quick look, it’s PHP again (and if your NC runs slow, there’s a fair chance it’s not properly set-up/tuned), and SQLite (so, rather small scale).