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!

  • Scrubbles@poptalk.scrubbles.tech
    link
    fedilink
    English
    arrow-up
    44
    arrow-down
    1
    ·
    1 year ago

    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

    • Midas@ymmel.nlOP
      link
      fedilink
      English
      arrow-up
      7
      arrow-down
      1
      ·
      1 year ago

      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.

    • Domi@lemmy.secnd.me
      link
      fedilink
      English
      arrow-up
      10
      arrow-down
      4
      ·
      1 year ago

      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.

      • christophski@feddit.uk
        link
        fedilink
        English
        arrow-up
        30
        arrow-down
        2
        ·
        1 year ago

        I strongly disagree with this, any error message shown to the user should be helpful to the user

        • Domi@lemmy.secnd.me
          link
          fedilink
          English
          arrow-up
          12
          arrow-down
          2
          ·
          1 year ago

          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.

          • mryessir@lemmy.sdf.org
            link
            fedilink
            English
            arrow-up
            8
            ·
            1 year ago

            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.

      • Scrubbles@poptalk.scrubbles.tech
        link
        fedilink
        English
        arrow-up
        7
        ·
        1 year ago

        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

  • notsofunnycomment@mander.xyz
    link
    fedilink
    English
    arrow-up
    30
    ·
    edit-2
    1 year ago

    I almost don’t dare to say this, but I’ve been running the snap for more than a year and have no complaints.

  • h3ndrik@feddit.de
    link
    fedilink
    English
    arrow-up
    25
    ·
    1 year ago

    Most likely you got blocked for some time by the brute force prevention. Have a look at your logfiles.

    • homegrowntechie@lemmy.world
      link
      fedilink
      English
      arrow-up
      11
      arrow-down
      1
      ·
      1 year ago

      ^this. You probably had a Nextcloud client somewhere with wrong credentials that was trying to reconnect repeatedly which locked you out. It happened once to me.

  • vividspecter@lemm.ee
    link
    fedilink
    English
    arrow-up
    22
    arrow-down
    1
    ·
    1 year ago

    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.

    • MangoPenguin@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      8
      ·
      1 year ago

      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.

    • pim@feddit.nl
      link
      fedilink
      English
      arrow-up
      5
      ·
      1 year ago

      The performance is indeed pretty terrible. Most stuff runs fine on my NUCs except nextcloud. Maybe throwing more hardware at it solves it though.

      • Neshura@bookwormstory.social
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        1 year ago

        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

    • Clegko@lemmy.world
      link
      fedilink
      English
      arrow-up
      4
      ·
      1 year ago

      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.

      • vividspecter@lemm.ee
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 year ago

        Interesting. MariaDB was the path of least resistance for me but I normally prefer PostgreSQL. I’ll put it on the list.

    • NicestDicerest@lemmy.world
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 year ago

      There are more twerks to it than "just’ using mariadb and redis. Maybe look into Apache/nginx cacheing,tune your mariadb settings and stuff like that. Had performance-problems with my owncloud-instance, now it runs like a champ

      • jcg@halubilo.social
        link
        fedilink
        English
        arrow-up
        5
        ·
        edit-2
        1 year ago

        Honestly the official docker images are hot garbage. I used them when I first tried NextCloud and they load incredibly slow. Shelved it for a while, realized there was a bunch of shit they already have that I was looking for, and gave it a go with my own Dockerfile starting from the PHP alpine image. That one runs waaaayyy better.

        • NicestDicerest@lemmy.world
          link
          fedilink
          English
          arrow-up
          4
          ·
          1 year ago

          I have no experience with the docker container, but optimization for the database and nginx/apache cacheing must be made individually depending on number of cpu cores, ram-size, etc etc etc. When overtuning for example your database it can happen that you run out of RAM, which means your system will crash or freeze. Happened to me. I run it “Baremetal” and configured it “the classic way”. Tbh, after those optimizations it runs really, really fast and response times are really quick.

          • u_tamtam@programming.dev
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 year ago

            I second that. I can’t say mine runs fast because my hardware is very modest, but it runs very decently considering it’s sharing resources with many other services.

            In general, it wouldn’t come to my mind to expect good performance by default out of anything pulled from docker. As soon as one starts hosting multiple services and apps simultaneously, containers get in the way or even make impossible proper resource allocation and tuning.

      • vividspecter@lemm.ee
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        Fair, although I feel like performance should be better OOTB, particularly when I’m just using it as a single user. It is an old and complex application that does a lot, so it is understandable.

    • slippery_salmons@lemmy.today
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      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.

  • festus@lemmy.ca
    link
    fedilink
    English
    arrow-up
    19
    ·
    edit-2
    1 year ago

    What name do you assign the DB for PostgreSQL in Docker and does it by chance happen to match the name of any other containers, possibly in other docker compose files?

    I’m only mentioning it because I experienced weird inconsistent issues with a service I was running where it was sometimes having trouble connecting to its DB companion and I eventually realized that it was sometimes connecting to the other container. I was also finding that turning it off and on again was often ‘fixing’ the issue, at least for a while. Might be worth checking out. I’d also consider viewing the logs for Nextcloud (docker logs -f ) when you’re unable to login and see if there are any errors. Frankly I’ve never had these specific issues with Nextcloud, and given that it’s based on PHP (it only ‘executes’ on an HTTP request), it seems like restarting shouldn’t help unless it’s something else.

    • Midas@ymmel.nlOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      I run a separate instance of postgres since I also use it for a lot of other stuff.

      it seems like restarting shouldn’t help unless it’s something else.

      I’m honestly also baffled

      • festus@lemmy.ca
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        And none the container names or link aliases conflict? Like you don’t have multiple db containers? Perhaps try renaming the Nextcloud db to something like nextcloud_db if you aren’t already.

  • Nsh@lemmy.ca
    link
    fedilink
    English
    arrow-up
    18
    arrow-down
    2
    ·
    1 year ago

    I haven’t got this kind of issue with nextcloud, I’m pretty sure you can reset your password using occ via cli

    • Midas@ymmel.nlOP
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 year ago

      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…

      • u_tamtam@programming.dev
        link
        fedilink
        English
        arrow-up
        1
        arrow-down
        3
        ·
        1 year ago

        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.

        • Midas@ymmel.nlOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          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.

          • u_tamtam@programming.dev
            link
            fedilink
            English
            arrow-up
            2
            arrow-down
            1
            ·
            1 year ago

            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.

  • HTTP_404_NotFound@lemmyonline.com
    link
    fedilink
    English
    arrow-up
    13
    ·
    1 year ago

    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.

      • BetterNotBigger@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Does it support syncing photos from your phone? That’s the only thing I need to get off Google Photos, I love how seamless it is.

        • nickiam2@aussie.zone
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 year ago

          I’ve just recently setup an immich server and it’s working great. The mobile syncing works and updates are coming very frequently. Makes a great drop in replacement for Google photos. It even has a memories feature now.

      • HTTP_404_NotFound@lemmyonline.com
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        I’ll give credit- that actually has a really nice interface. Going to have to star that one, and keep an eye on it.

        Documentation is very nice too.

      • Moonrise2473@feddit.it
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Main issue is that it doesn’t support chunked uploads and that means it doesn’t work with cloudflare

    • JustEnoughDucks@feddit.nl
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 year ago

      Go with immich if you want to ever have multiple users.

      Photoprism locks user accounts behind a paid subscription.

      Pretty much everything is more full-featured on immich except for incomplete RAW format support because photoprism is mainly focused on photography and now businesses IIRC.

      • HTTP_404_NotFound@lemmyonline.com
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        I have been digging through the features and documentation- and I plan on giving it a try.

        Photoprism locks user accounts behind a paid subscription.

        We have been asking for a password for “private” photos, for a few years now… and yea, still don’t have that feature. I did notice photoprism jumped on the subscription train a while back, but, have not paid too much mind to it.

        But, seeing the beautiful interface of this, I will be trying it.

    • gravistar@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      So the only reason I have been using nextcloud was for the photo sync and that it can be configured to backup right away.

      Does Photosync allow for backups right away?

  • Morethanevil@lmy.mymte.de
    link
    fedilink
    English
    arrow-up
    16
    arrow-down
    4
    ·
    1 year ago

    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 🤔

      • Morethanevil@lmy.mymte.de
        link
        fedilink
        English
        arrow-up
        8
        arrow-down
        2
        ·
        1 year ago

        Docker has it usecases but I don’t need everything in there. Like I said MinIO for example is just a short oneliner to start.

        The most important thing is backup ☺️

    • anteaters@feddit.de
      link
      fedilink
      English
      arrow-up
      5
      ·
      1 year ago

      That’s how I ran my nextcloud for about a decade and never had problems. On my new server I’m running it in docker and so far it seems to work ok.

      • Morethanevil@lmy.mymte.de
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Good to hear that it is running ☺️

        Did you follow a specific guide or did you migrate yourself? Which image are you using? Maybe this could help others

        • anteaters@feddit.de
          link
          fedilink
          English
          arrow-up
          2
          ·
          edit-2
          1 year ago

          TBH I’m migrating manually by synching files. Still wonder if it’s worth the hassle to somehow export/import contacts & calendar instead of reproducing them by hand. I thought about feeding the mariadb the psql dump I used to create for backups but that’s probably more work than doing things by hand.

          One reason for me to try docker is “easier” backup. I just throw the whole data-directory of the db container into restic. Restoring the backup would just be starting a container with that saved directory. I hope that way I don’t have to argue with the database about reading a huge sql dump.

          Unfortunately the documentation is a bit weird, I think. There’s the official all-in-one container that starts a container that starts more containers but that was a bit too much “magic” for my taste. I used the images and documentation maintained by the community here and ended up with this compose file I can manage in portainer. Runs nextcloud (with apache), mariadb and redis. Also had to add that final bit for the cron job. This way I can point my reverse proxy at the local ip of the nextcloud_apache container and be done with it.

          • Morethanevil@lmy.mymte.de
            link
            fedilink
            English
            arrow-up
            2
            ·
            1 year ago

            Thanks for the input. Copy over files is the “clean” way, without struggle, yes. For backups I use rclone and copy the userdata folder encrypted to external storage. Works fine for me. Maybe your dokcer files will help others, thanks for sharing :)

    • crusa187@lemmy.ml
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      1
      ·
      1 year ago

      Just wanted to +1 your comment. Installing on bare metal host is higher risk, but higher reward as well in terms of stability and performance. In my case I’m using mariaDB, redis, php, and apache and it’s been solid for years now.

      • Morethanevil@lmy.mymte.de
        link
        fedilink
        English
        arrow-up
        5
        arrow-down
        1
        ·
        1 year ago

        I used it with mariadb before, converting to postgres gave a performanceboost. Don’t ask me why but it ran faster

        If you are intrested, than here is a guide 😊

        • crusa187@lemmy.ml
          link
          fedilink
          English
          arrow-up
          5
          ·
          1 year ago

          I’m interested, it’s on the list but pretty far down. pgsql is better hands down imho but I followed nextcloud recommendations at the time I set things up and just never switched. Thanks for the guide!!

    • vegetaaaaaaa@lemmy.world
      link
      fedilink
      English
      arrow-up
      3
      ·
      edit-2
      1 year ago

      Been running multiple Nextcloud instances for years on bog standard debian + apache + php-fpm install, as documented in the official docs which do not even mention docker. Upgrades were never a problem. Some apps may suffer some bugs from time to time, but Nextcloud itself works flawlessly. Wrote an ansible role to install, manage and update it. The only thing that deviates from the “recommended” setup is Postgres instead of MariaDB. People need to start following the actual documented/well-supported installation options and stop trying to stick containers everywhere…

      • Morethanevil@lmy.mymte.de
        link
        fedilink
        English
        arrow-up
        1
        arrow-down
        1
        ·
        1 year ago

        The docs are very good and you have a lot of tutorials for nextcloud, bit mostly they scratch only on the surface. They show you how to install and if you are lucky you see how to setup HTTPS…

        But then? Start nextcloud and go to system overview and everything is red and you get warnings about region, php opcache… 😁 Most tutorials end there. It is a pity

    • Midas@ymmel.nlOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      I just don’t see how docker can fuck something like this up honestly, the only thing that can be screwy is permissions when dealing with filesystem mounts - but once you’ve got that working it should be pretty static.

      • Morethanevil@lmy.mymte.de
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Maybe it is permissions or the image won’t start correctly. Maybe it tries to read from the database which is jot up at the moment or something similar 🤔

    • Moonrise2473@feddit.it
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      1
      ·
      1 year ago

      I tried to run it on Debian and on each update it was always complaining the php version too old. Maybe on a distro that doesn’t come with ancient packages can be ok…

      • Morethanevil@lmy.mymte.de
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        I guess this is only a problem on an older debian server. Then you could use the PHP PPA. Some people still run PHP 7.4 or even 5.6, but they are end of life 😳

    • Midas@ymmel.nlOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      That’s really cool. I’m giving Immich a try now but I saved your comment.

    • u_tamtam@programming.dev
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      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).

  • wolre@lemmy.world
    link
    fedilink
    English
    arrow-up
    10
    ·
    1 year ago

    Would be interesting to hear a little more about your setup. I had some issues when I had Nextcloud installed directly on Debian (though nothing this major), have since switched to running it on Docker and it’s been very solid.

    • Midas@ymmel.nlOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      It’s the LSIO image hooked up to seperate (but also docker) postgres db that’s also used for other apps. The data and config directories are bind mounts to the local filesystem. It connects to a samba share via the external storage plugin. It is exposed to the internet through a caddy reverse proxy though (the database isn’t)

    • Midas@ymmel.nlOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      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.

      • MangoPenguin@lemmy.blahaj.zone
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 year ago

        Yes it does, you can back up the files externally and everything if needed. You can also import external directories of existing photos.

      • BCsven@lemmy.ca
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        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

  • AbouBenAdhem@lemmy.world
    link
    fedilink
    English
    arrow-up
    7
    ·
    1 year ago

    I’ve been running two NC instances for over five years (linuxserver docker images)—one has been issue-free, and the other had sporadic issues like OP is describing… but not for the last year or so, so I assumed the issue had been fixed in an update. Or maybe the problem was the network configuration instead of NC.

  • ᓰᕵᕵᓍ@lemmy.ml
    link
    fedilink
    English
    arrow-up
    10
    arrow-down
    3
    ·
    1 year ago

    Nextcloud is an overkill. Its just too much. I’d say better split down the needed services. Baikal/radicale etc for contacts/calendar. Photoprism/librephotos etc for photos. A webdav server for storage. And so on.

    • cecilkorik@lemmy.ca
      link
      fedilink
      English
      arrow-up
      21
      ·
      1 year ago

      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.

    • festus@lemmy.ca
      link
      fedilink
      English
      arrow-up
      9
      ·
      1 year ago

      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.

        • festus@lemmy.ca
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 year ago

          Most of the items on that list (with the possible exception of the ‘Enterprise Apps’) are items that involve them either hosting an aspect for you (push notifications), training, or utilizing their OAuth credentials with Microsoft. Because they forked OwnCloud they’re actually bound by the AGPL on that original code and legally can’t license features in the main codebase as anything other than AGPL (less sure on those ‘apps’), so they’re limited in what features they can restrict to paying customers.

            • festus@lemmy.ca
              link
              fedilink
              English
              arrow-up
              2
              ·
              1 year ago

              No, because these licenses can’t bind the copyright owner themselvess. AGPL is the terms that OwnCloud allows us access to it, but as it’s their code they don’t need a license to do whatever with it.

              Let me put it another way - OwnCloud would be the only folks with standing to sue someone for violating the AGPL on their code. That means that the only people who could possibly sue OwnCloud for having a non-AGPL version is… OwnCloud. So even if the AGPL somehow claimed to bind the copyright owner it still wouldn’t work legally as the copyright owner just has to not sue themselves.