hi. i’m looking for an extremely simple selfhosted photo gallery software. i have photos from my laptop, a camera, and my phone. they are all rsync’ed onto my server. so on the server I have ~/Pictures/Laptop ~/Pictures/Camera ~/Pictures/Phone filled with JPEG/PNG/HEICs and no subdirectories.

i want to view photos from all three directories on a single timeline/feed, from the web (and if possible, via a mobile app). currently I VNC onto the server to run XnView and check each directory and this is a terrible user experience especially on a phone.

i don’t want to run a separate database or anything complex, so things like Immich or Photoprism are not an option. would be nice to be able to assign a tag to some images (“work”, “computer”, …) but it’s not a necessity. and i don’t need the ability to edit/remove images from the gallery.

i’ve considered rolling my own solution but thought there might be something already available.

thanks!

  • WeirdGoesPro@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    57
    ·
    edit-2
    11 days ago

    Immich works really well. Don’t fear the database. Docker makes it all super easy too.

    Alternatively, Plex manages photos ok-ish.

    • hexagonwin@lemmy.todayOP
      link
      fedilink
      English
      arrow-up
      10
      ·
      edit-2
      11 days ago

      I really don’t want another complex service i have to manage. ideally i want something that’s a simple python/perl/php script or something like that.

      forgot to mention in OP but I run freebsd on my server and it’s possible to run docker(podman) with linux emulation if it’s very necessary, but i prefer not to use it

      • WeirdGoesPro@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        32
        ·
        11 days ago

        I hear you, I went through the same journey. After getting Immich set up, I haven’t had to do a single thing to it. There are scripts that can turn your folders into Immich albums, so I just set up the docker containers, ran the script, and watched as everything was created for me without more labor on my part.

        I hope somebody else has the solution you’re looking for, but if you don’t find it, I really think you should give it a whirl because it turned out to be way easier than I expected it to be.

      • frongt@lemmy.zip
        link
        fedilink
        English
        arrow-up
        17
        ·
        edit-2
        10 days ago

        Immich isn’t complex, and I don’t think it requires a separate database.

        Edit: just checked and technically it does, but if you use the docker compose then it deploys it automatically and you don’t have to think about it at all.

        Edit2: if you really want something dead simple, yeah you could trivially write a tiny script to list and thumbnail images. I’m sure there are apache plugins for exactly this.

        • hexagonwin@lemmy.todayOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          9 days ago

          it’s not that the deployment process looks hard. it’s an extremely complex piece of software, something that only provides “container” (read: full linux image) method for deployment because it’s too complex to install manually. if something ever goes wrong inside that container, i won’t be able to fix it.

      • non_burglar@lemmy.world
        link
        fedilink
        English
        arrow-up
        11
        ·
        11 days ago

        It does nothing but serve photo. Background tasks are minimal and many of them only run once on new photos.

        • hexagonwin@lemmy.todayOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          9 days ago

          yeah, it’s only job is to serve photos yet it needs a whole linux container to run… i get why some people like it but i said it’s not what i want.

          • non_burglar@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            ·
            9 days ago

            I mean, you say contradictory things in your post: you don’t want to manage a db, but you want to assign tags and categorize the photos, which would need a db of some kind.

            If you really, really don’t want a db but you want web access to your pics, just rename them so they sort alphabetically the way you want and drop them in the doc root of a www server, apache or nginx would work. Do note that you will have no sorting or tagging options, but it will be dead simple. This is what the copyparty option would give you.

            Not sure what you mean about “a whole Linux container”, the majority of my alpine images run in under 100MB memory and use less than 0.1% CPU, so it’s not clear to me what your objection is.

      • MrQuallzin@pie.eyeofthestorm.place
        link
        fedilink
        English
        arrow-up
        11
        ·
        11 days ago

        You’re likely not going to find something so simple and lightweight. Immich has some setup, but if you want a good gallery that’s the way to go. Don’t be afraid of the learning.

      • Joelk111@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        9 days ago

        I feel like this is a case of not wanting to do the “difficult” thing because it sounds difficult when really avoiding the “difficult” thing is more difficult than just doing the “difficult” thing.

        I was replacing the power steering rack on my P2 Volvo XC70 recently. I really didn’t want to drop the subframe because that sounded like a lot of work. Eventually I realized dropping the subframe was the easier way to get the power steering rack out and, in the end, it was way easier to just drop the subframe. It was like 10 more bolts and wasn’t that hard to put back. In this analogy, Immich is dropping the subframe, just do it.

        • hexagonwin@lemmy.todayOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          edit-2
          9 days ago

          no, it’s more about that i don’t want a separate linux installation on my freebsd server, all with its meaningless attack surfaces and such. i want something lightweight, and i specifically mentioned immich isn’t what i want in the OP. yet you folks are all downvoting and trying to persuade me to try that. no, i’m not using that.

          after hearing it a few times i’ve tried it before and it’s not what i want. even ignoring the server part i hate that clunky google photos ripoff web interface.

          • Joelk111@lemmy.world
            link
            fedilink
            English
            arrow-up
            3
            ·
            9 days ago

            You want a timeline feed viewable via web and an app. Immich does that. I don’t get it.

    • stickyprimer@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      9 days ago

      I don’t understand why the OS and file system don’t constitute, themselves, a database. Over the years I have spent a lot of time organizing my photo names, folders, and labels. I want a display service that will take advantage of that, not change it, and update immediately to any changes I make to it.

  • Avid Amoeba@lemmy.ca
    link
    fedilink
    English
    arrow-up
    14
    ·
    10 days ago

    Another vote for Immich. Running it with docker compose is trivial. Been using it for 2 years now and it’s been glorious. Running it without docker would take more setup, not sure how complex.

  • curbstickle@anarchist.nexusM
    link
    fedilink
    English
    arrow-up
    9
    ·
    11 days ago

    PiGallery/PiGallery2 , Photoview, HomeGallery, lychee, or thumbsup might be up your alley.

    Personally I use Immich and ImmichFrame.

  • yodeljunkmanenvy [fsp.org]@piefed.social
    link
    fedilink
    English
    arrow-up
    5
    ·
    edit-2
    11 days ago

    I have a use case where I use Next Explorer to share some directories with photos in them for others to see online. Clean, simple UI and no database, it just indexes your directories. PWA works well on phones.

    It does run on docker though (like many, many foss apps). 🤷

    2NBhLdHL5B6xJS0.png

      • westingham@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        2
        ·
        9 days ago

        I’ve never used Immich so I can’t speak for or against it. When I started down the selfhosting road, I found Ente first, that’s all.

          • notfromhere@lemmy.ml
            link
            fedilink
            English
            arrow-up
            1
            ·
            9 days ago

            That entirely depends on what your threat model is. You may not get any value out of that feature, but others may want it. One reason may be ease of storage drive disposal upon drive failure; i.e., if your drive is unencrypted and has your personal photos on it and it fails, the data is still recoverable with no easy way for you to destroy the data. If it was encrypted at rest, you wouldn’t have to worry about it because you would only have to rotate the encryption key.

            • potustheplant@feddit.nl
              link
              fedilink
              English
              arrow-up
              2
              ·
              9 days ago

              If you’re using a raidz array (which you should) the data would be irrecoverable anyways when you dispose of a single drive, wouldn’t it? Also, why would you throw away a server drive that still works?

              • notfromhere@lemmy.ml
                link
                fedilink
                English
                arrow-up
                1
                ·
                9 days ago

                Why should I use a raidz array? I use other scalable storage solutions. Encryption at rest is a standard core tenant to cybersecurity. If one of the raidz drives is removed from the array, and you’re not encrypting your datasets, someone could recover data from the drive.

                • potustheplant@feddit.nl
                  link
                  fedilink
                  English
                  arrow-up
                  2
                  ·
                  8 days ago

                  Well, if you’re storing data you care about on your server you kind of need to have redundancy. The best filesystem for that (imo) is ZFS so yes, you should use that (or something similar). Apparently you do use a “scalable storage solution” but you also seem fond of mystery.

                  If one of the raidz drives is removed from the array, and you’re not encrypting your datasets, someone could recover data from the drive.

                  The solution is in the question. Just encrypt the dataset.

    • NewOldGuard@lemmy.ml
      link
      fedilink
      English
      arrow-up
      5
      ·
      9 days ago

      Why would that write off immich? Docker compose is a recommended installation path for it

      • Derin@lemmy.beru.co
        link
        fedilink
        English
        arrow-up
        3
        ·
        edit-2
        9 days ago

        All of its install steps other than docker compose are still containers, or relate to hosting services, or specific managed platforms.

        I’m a simple admin who likes to compile, copy to /usr/bin, prep my system user, populate a directory in /etc with all necessary configs, and write my own .service files.

        If you like running single binaries in their own Docker instances, more power to you, but it rubs me the wrong way when people try to force that on me.

        NB: I’m not above reading a Dockerfile and executing the steps manually, case in point: that’s how I build lemmy_server for my current instance… but the Immich steps are waay too involved, with too much of the software expecting some less than sane defaults for me. I went through it once, left a bad taste in my mouth, so I stopped using Immich.

        Edit: Just to be clear, here’s the installation steps for Photofield. That’s what I like to see. “Download a binary, run, config lives at xxx” - delicious. I also don’t mind doing a ./configure and make if they want me to - just don’t bloat my system with an entire duplicate OS.

        • NewOldGuard@lemmy.ml
          link
          fedilink
          English
          arrow-up
          3
          ·
          9 days ago

          I misread your comment and thought you said you do run docker, i get where youre coming from

        • voyage0@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          1
          ·
          9 days ago

          Even though this kind of proofs your point as this script is really long. I just wanted to recommend the community script install source as a good starting point for installing more complex software baremetal. immich-install-script

        • mlg@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          9 days ago

          What about podman quadlets?

          Dunno about immich, but photoprism also has a bunch of CUDA libs that would otherwise be a pain to maintain specific version sets on the host.

      • Derin@lemmy.beru.co
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        10 days ago

        I run Debian on my VPSes. But, also, I’ve been through the path of doing what the PKGBUILD does, which is read the Dockerfike and manually execute the steps: I think it’s pretty problematic to have to do that every update cycle. Got Immich set up, looked at what I’d have to do every time I want to run an update, and "nope"d out.

        With server side software like this, which will usually be running behind a reverse proxy and will connect to a postgres dB (or other services like Redis), I kind of don’t want to fight the software/make guesses to create these connections. I also take umbrage with the nginx proxying “example” configurations - just tell me what needs to be proxied to where and let me handle the rest; it’s a server, you don’t know my setup. Case in point, I don’t use nginx.

        I like photofield because it’s a single binary (thanks, Go) listening on a port. I proxy what I need to it, and let it run.

        Final note: I’m not knocking Immich, or the people who run it. I just think it’s lazy to distribute software with Docker because it encourages devs to write what I consider to be poorly designed software (E.g. Software with hard coded paths as strings, because everything is expected to be in the same place on every system - basically very rigid defaults). As a guy who knows his systems well, it annoys me I can’t manage them my way and need to run a nebulous docker container set up by some web developer. (some shade thrown there, my bad)

        You don’t have to agree with me, I’m Don Quixote and this is one of my windmills.

        • SayCyberOnceMore@feddit.uk
          link
          fedilink
          English
          arrow-up
          2
          ·
          10 days ago

          Yeah, I get it. I do think containers encourage lazy integration - could be hard coded paths, or things like leaving apt in there, so no worries.

  • Nibodhika@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    ·
    11 days ago

    PiGallery is what you’re asking for, but you should consider Immich, it’s very simple to setup and you’ll get tons of features more that are extremely useful. I get you want something simple, but I don’t feel Immich is hard to setup or maintain, and it’s the difference between a simple photo gallery and google photos.

  • linuxguy@piefed.ca
    link
    fedilink
    English
    arrow-up
    3
    ·
    11 days ago

    It looks like every reply in this is a near miss so I’ll add another one to the pile: I’ve been working on a hosted immich platform for people who want privacy from big tech and don’t want to / can’t self host it at https://photos.minpin.me/