[HN Gopher] Show HN: Memories - FOSS Google Photos alternative b...
       ___________________________________________________________________
        
       Show HN: Memories - FOSS Google Photos alternative built for high
       performance
        
       Memories is a FOSS Google Photos alternative that you can self-host
       (it runs as a Nextcloud plugin).  Website:
       https://memories.gallery/  GitHub:
       https://github.com/pulsejet/memories  Demo Server:
       https://demo.memories.gallery/apps/memories/ (demo runs in San
       Francisco on a free-tier cloud vm)  Memories has been built ground-
       up for high performance and is extremely fast when configured
       correctly. In our testing environment, it can load a timeline view
       with 100k photos in under 500ms, including query and rendering
       time!  Some features to highlight:  * A timeline similar to Google
       Photos where you can skip to any time in history instantly.  * AI-
       based tagging that runs locally on your server, identifying and
       tagging people and objects.  * Albums and external sharing.  *
       Metadata editing support  * A world map of your photos, supported
       both on mobile and the web  * Did I mention it's extremely fast?
       Would love to hear feedback from the HN community! :)
        
       Author : radialapps
       Score  : 187 points
       Date   : 2024-03-21 19:25 UTC (3 hours ago)
        
 (HTM) web link (memories.gallery)
 (TXT) w3m dump (memories.gallery)
        
       | aendruk wrote:
       | What are your thoughts on PhotoPrism?
        
         | candiddevmike wrote:
         | It's nice, but $24/year/forever to have multiple users is a bit
         | much...
        
           | rockooooo wrote:
           | $24 a year is too much?
        
             | candiddevmike wrote:
             | When every other aspect of the app is basically free, yes.
             | I would pay once for the functionality, not as a
             | subscription.
        
         | radialapps wrote:
         | My thoughts? Too slow. No timeline view. Looks terrible.
        
       | lxe wrote:
       | Looks polished!
        
       | timmg wrote:
       | Just curious: what's the business model for something like this.
        
         | burnte wrote:
         | Doesn't look like it's a business, so probably no business
         | plan.
        
         | radialapps wrote:
         | It's free
        
       | warkdarrior wrote:
       | Ugh, it's tied to Nextcloud. Is there a standalone option?
        
         | parl_match wrote:
         | Yes! It's open source, so simply download the project, make the
         | requisite changes, and then run it wherever you like.
         | 
         | https://github.com/pulsejet/memories
        
           | burnte wrote:
           | I think you meant to say "No, but it's open source, so simply
           | download the project, make the requisite changes, and then
           | run it wherever you like."
           | 
           | When you say "Yes, it's OSS so you can just do it yourself"
           | it's generally viewed as snarky and misleading, as the
           | question wasn't "can I modify it" but "is it available
           | already in another form?" It's just not helpful to anyone to
           | word it like that backwards manner.
        
         | burnte wrote:
         | Doesn't seem to be.
        
         | mcint wrote:
         | I found NextCloud pretty easy to set up...from yunohost.org.
         | 
         | By contrast, when I tried to install it manually, the
         | distribution install scripts broke on the second run, on
         | changes that the very same script made on the first run. Anti-
         | idempotent, I dropped it with the impression of drumming up
         | hosting or consulting business.
        
         | radialapps wrote:
         | No
        
         | hanniabu wrote:
         | I don't know anything about Nextcloud, what's wrong with it?
        
       | leononame wrote:
       | Hi, this looks super polished, congratulations. I've got a couple
       | of questions:
       | 
       | - Does the metadata editing allow it to write back to the file,
       | storing the edited metadata in a sidecar or in the EXIF data? -
       | Does it support some kind of auto-stacking? E.g. having raw files
       | alongside exported tiff/jpg and recognizing that they are the
       | same file? Especially for a nextcloud based solution, that'd be
       | awesome
        
         | radialapps wrote:
         | Yes. Yes.
        
           | gwbrooks wrote:
           | Does it preserve and/or allow editing of the text metadata
           | (typically, the generative prompt) appended to PNG files
           | created with Stable Diffusion?
        
             | radialapps wrote:
             | No idea what that is
        
       | belinder wrote:
       | How does this compare to immich? I spent a few weekends ago
       | setting that up and it's working great, though it doesn't always
       | detect faces correctly and swiping through images is a bit slower
       | than Google photos
        
         | talhah wrote:
         | The main thing to me was that since this runs on Nextcloud its
         | more extensible as the photos are just stored under the files
         | and you can use various other apps to do what your heart
         | desires. The other aspect is you get your own Gdrive
         | alternative. You may or may not want this.
         | 
         | For mobile compatibility Nextcloud is better since you can
         | choose which folder photos go to and you can essentially
         | automatically backup albums whereas with Immich you can't
         | automatically specify which album photos from a directory
         | should go [1].
         | 
         | In addition to this, Immich isn't too stable yet and each time
         | you update the server all clients have to be on the latest
         | version, at least since the last time I used Immich.
         | 
         | 1. https://github.com/immich-app/immich/discussions/1678
        
           | menthe wrote:
           | This is moot.
           | 
           | - Immich supports external libraries
           | 
           | - Use docker compose and never worry about versions breaking
        
             | talhah wrote:
             | > This is moot. Immich fully supports external libraries.
             | 
             | You're correct, Immich does support external libraries. To
             | be more elaborate with my original comment, I meant inbuilt
             | apps of Nextcloud which integrate well and complement the
             | memories app. An example app would be the Face recognition
             | one or Recognize if you fancy a different implementation.
             | Nextcloud is after all an ecosystem so using memories gains
             | you the other benefits of such an ecosystem. This might be
             | overkill for some so it's upto your usecases.
             | 
             | Versions breaking is an issue since both mobile and server
             | clients have to be on the same version. Compared to
             | Nextcloud Memories this is not an issue. This was an issue
             | when I've last used Immich so this may have changed since
             | then.
        
             | Ringz wrote:
             | External libraries? What do you mean by that? External
             | storage?
             | 
             | The last time I looked, Immich can't work with a existing
             | file and folder structure without importing (copy)
             | everything in his own structure (database). That's a big no
             | go for me.
             | 
             | In Memories, the file structure of your photos is preserved
             | as-is. And you can run it alongside with other solutions
             | that respect your folder structure.
             | 
             | EDIT: looks like Immich can work with external folders.
             | But: Does it put pictures from my phone in that external
             | folder or in its own folder?
        
               | menthe wrote:
               | It absolutely can, and it does not duplicate nor modify
               | the medias. I mount my several TBs large library with the
               | read-only flag in Docker.
               | 
               | https://immich.app/docs/features/libraries#external-
               | librarie...
        
               | talhah wrote:
               | Immich on mobile doesn't give you much flexibility with
               | where each local folder gets uploaded to yet so it
               | doesn't preserve folder structure. If you're using the
               | CLI you can program the structure and tell it which album
               | a folder can map to.
        
         | radialapps wrote:
         | Face recognition is a hard task but you can manually correct
         | the AI and it learns from that. Performance is the #1 goal
         | here. I actually profiled this side-by-side and it's actually
         | faster than Google Photos for my personal deployment.
        
       | pathsjs wrote:
       | How complex is it to configure memories? I own a hosted instance
       | of NextCloud from Hetzner, but I would rather not misconfigure
       | it. Also, is there a mobile app? I think not having one is
       | limiting, since most of the time I want to look at the pictures
       | on the phone
        
         | radialapps wrote:
         | Everything can be mostly configured through the admin panel,
         | maybe 15-20 minutes?
         | 
         | There's a mobile app for Android:
         | https://play.google.com/store/apps/details?id=gallery.memori...
         | 
         | On iOS, you can use the PWA ("add to homescreen") and it
         | behaves almost exactly as a native app
        
       | pathsjs wrote:
       | How complex is it to configure? I have an instance of NextCloud
       | from Hetzner, but I would rather not misconfigure it.
       | 
       | Also, is there a mobile app? Most of the time when I look at
       | pictures I am on the phone
        
         | talhah wrote:
         | As easy as downloading an app from the store and telling it
         | which directory to work with.
         | 
         | If you need the AI features those require separate apps and
         | depending on your deployment it might need some effort. I'm
         | running a docker image and had to ensure I have some of the
         | required libraries for the AI things to work. It isn't too hard
         | to misconfigure though and I believe there's a decent amount of
         | resources for this.
         | 
         | As for mobile app, there isn't an explicit one but the webapp
         | interface is mobile friendly and works pretty well. I also use
         | NC photos and it still works with the tags and face recognition
         | things. That app doesn't require "Memories" as far as I know.
        
           | radialapps wrote:
           | There is an Android app, not for iOS yet. https://play.google
           | .com/store/apps/details?id=gallery.memori...
        
       | bl4kers wrote:
       | Basically the last thing keeping me locked into Google Photos is
       | it's social features.
       | 
       | I see "external sharing" is mentioned but haven't found more
       | information on that. Ideally I'd want the option to share an
       | album with password protection, doesn't require an account to
       | view, and allows comments on photos. Bonus would be to have a
       | running album feed with view receipts per account.
       | 
       | I know that's a lot but wanted to be specific. I'm ready to
       | migrate but haven't found a platform that has feature parity on
       | this front.
        
         | magic_hamster wrote:
         | It sounds like you can implement this by hosting your photos on
         | a server with password access. You don't even need google for
         | this.
        
           | lytedev wrote:
           | #ThatDropboxComment ;)
        
         | radialapps wrote:
         | You can share folders and albums that don't need an account to
         | view. Folders do support password protection as well.
        
       | conqrr wrote:
       | I will take whatever is the most stable. I don't need a lot of
       | feature, just a timeline and gallery with albums. Immich fits it
       | for now, but it is way too focused on piling features and is
       | bleeding edge. I hope memories has stability as its goal.
        
         | radialapps wrote:
         | Indeed. Backward compatibility is also a major goal and there
         | have been almost no major breaking changes since v2 (at v7
         | currently)
        
       | Fnoord wrote:
       | (Still installing/configuring.)
       | 
       | Awesome, this is the main piece of puzzle I (or rather: my wife)
       | miss from Nextcloud (the default Photos has terrible performance
       | and lacks some features). Gonna set it up. Also nice to see Face
       | Recognition app is used. Now I'm gonna have to edit my docker-
       | compose.yml for the dependencies but that is fine.
       | 
       | Also, I've been trying Photoprism and also I tried Immich in
       | past. They have disadvantages: they don't sync with whatever got
       | uploaded to Nextcloud and they either do not have a mobile front-
       | end or it is some web app. They also have stability issues,
       | though I had most success with Photoprism.
       | 
       | I suppose it won't be as useful to me as it could be as I'm
       | stripping all EXIF data from any photo uploaded by Nextcloud
       | because I fear my wife stupidly just shares whatever when she
       | should not. Yes, I know you can do OSINT analysis anyway, but
       | that is a skill as of yet.
        
         | jvanderbot wrote:
         | Try https://ente.io/
         | 
         | I like it very much.
        
           | avhception wrote:
           | Thanks, that looks really interesting!
        
           | Fnoord wrote:
           | Not for me. I self-host Nextcloud in my home network. I have
           | a Wireguard VPN set up to it, too. I'll have fiber (1000/1000
           | mbit) soon, so not worried about network speed. I prefer
           | something native in Nextcloud. And I do not need E2E
           | encryption; I already use FDE in this VM.
           | 
           | That said, to each their own, thanks for sharing.
        
         | screamingninja wrote:
         | Thoughts about Les Pas?
         | 
         | https://github.com/scubajeff/lespas - comes with built-in two-
         | way sync with Nextcloud server
         | 
         | (no affiliation, just a curious Nextcloud user)
        
         | wkipling wrote:
         | None of those negatives you mentioned apply to Immich.
        
       | menthe wrote:
       | For having used Memories on Nextcloud, and having spent hours
       | trying to micro optimize the Nginx & PHP configuration, I can
       | safely say that, while it is better than the Nextcloud's native
       | Photos app, this is absolutely nowhere near to Immich, Filerun,
       | or surprisingly even a dumb SMB share (which doesn't have
       | thumbnail caching...!). I've really tried hard, as Immich's
       | support for external libraries was still in a PR at that time,
       | and didn't want to have two separate tools to grab files and grab
       | photos.
       | 
       | A big part of the problem, it seems, is that, when you have a
       | large library, and you jump/scroll to a specific year or so, it
       | won't cancel the previous page(s) worth of thumbnails loading. So
       | as soon as you're scrolling to search for something, it quickly
       | accumulates hundreds of useless requests that quickly overload
       | the PHP workers, and make everything crawl to a standstill.
       | 
       | I personally had to give up. When trying to grab photos from
       | abroad for my shortly upcoming proposal, I've literally deleted
       | Nextcloud/Memories, plopped Immich in docker compose, let it
       | index/transcode/generate thumbnails from scratch against my
       | "external library" (so Immich doesn't duplicate the medias), and
       | that ended up savings me days of buffering, and was able to find
       | the nice pictures for the occasion!
       | 
       | (R740xd with 48 cores and 96TB SSD-backed ZFS pool)
        
         | radialapps wrote:
         | It's silly to micro optimize nginx / php when you have docker.
         | Just use the Nextcloud Docker image or AIO and be done with it,
         | everything is pre-optimized.
         | 
         | Thumbnail caching exists (it's even highly configurable),
         | there's absolutely zero buffering even with 100k photos+ on a
         | raspberry pi. You obviously did not read the documentation or
         | install the preview generator (which the docs clearly tell you
         | to)
         | 
         | Your deployment skills are hot garbage
         | 
         | EDIT 3: ^the last line was in response to something that has
         | been edited out of the original comment
         | 
         | EDIT: the comment this is in reply to was edited multiple
         | times. This is pointless and a lot of it is just false.
         | 
         | EDIT 2: (at least currently the previous comment claims
         | unnecessary PHP requests) this only happens if your
         | configuration is incomplete; you didn't install preview
         | generator as the docs say. Secondly it happens exactly once,
         | the first time you see the image. All other requests are
         | gracefully cancelled.
        
           | menthe wrote:
           | Absolutely was using the AIO image, with thumbnail generation
           | enabled for every formats of my library (another thing you
           | need to manually edit in Nextcloud's configuration as by
           | default the format list is limited).
           | 
           | And it's only "pre-optimized" if you are cool with PHP memory
           | limit crashes, PHP operation timeouts, PHP request size
           | limits, and the works.
           | 
           | Another joy associated with using Nextcloud sync is that
           | uploads don't even seem to support multi-part resumable
           | uploads. So not only is it crazy slow, if there's any error
           | during the auto-upload of a 2G video clip, or the app is
           | temporally backgrounded by iOS, it'll go into an exponential
           | back off (which you can force start), and eventually just
           | start the upload for that/those file(s) over from scratch -
           | good ways to waste days burning in your screen while in a
           | trip and trying to ensure your medias are backed up in case
           | you lose your phone on a trip. Try uploading raw images & 4k
           | clips shot on iPhone to Nextcloud using the Nextcloud app +
           | the AIO image from abroad.
           | 
           | I'm telling you, I've tried to use them for quite some time,
           | and I'm far from DevOps-illiterate - I've been using k8s
           | since it's infancy, we wrote the original Operators at CoreOS
           | way back.
        
             | radialapps wrote:
             | I don't know what to say if you think flipping a switch in
             | the admin UI is "manually" configuring.
             | 
             | Otherwise, mostly all of this is just false. I routinely
             | upload massive files (both RAW and 4K, yes) with almost
             | default configuration and it just works. You also lied with
             | "no thumbnail caching" in the first comment, no idea why.
        
               | RockRobotRock wrote:
               | Wow, your first comment was completely rude and
               | unnecessary. Why do you feel the need to say, "you must
               | be lying or you suck at deploying, because it works for
               | me."
               | 
               | also, they meant that their SMB share didn't have
               | thumbnail caching
        
               | radialapps wrote:
               | Hmm I can reply now, strange. That comment was edited
               | multiple times so this is pointless. Also the original
               | commentor started the rude exchange with "hot garbage"
               | (wonder if they'll edit that out too now)
               | 
               | EDIT: yeah, they edited that out too.
        
               | RockRobotRock wrote:
               | I understand now that you are the developer of this app.
               | 
               | I'm sure it doesn't feel very good to have someone
               | criticize it, I get that. But, this person cared enough
               | about the thing you made to use it, troubleshoot it, and
               | post a comment about it on HN.
               | 
               | At the end of the day, it's valuable user feedback :)
        
               | radialapps wrote:
               | No, just no.
               | 
               | Valuable user feedback (which I absolutely love) is
               | someone pulling the server logs, filing a bug on GitHub
               | and following through till it gets fixed. Or, even
               | attempting to see what parts are slow and reporting it.
               | Worse but still very helpful, providing a link to an
               | affected instance that might help "see" what might be
               | happening.
               | 
               | Spending a few hours trying random things and then
               | complaining loudly like a know-it-all is NOT valuable
               | feedback; it's bullshit.
        
               | menthe wrote:
               | The day SMB supports server-side thumbnail
               | generation/caching, kindly let me know :]
        
       | ggm wrote:
       | Does it have perceptual hash duplicate detection?
        
       | ementally wrote:
       | How is it compared to https://ente.io/ ?
        
         | hanniabu wrote:
         | looks like memories has auto-categorization
        
         | radialapps wrote:
         | Different goals.
         | 
         | Ente is commercial, Memories is free
         | 
         | Ente is focused on E2EE, Memories is focused on self-hosting.
        
       | adam_gyroscope wrote:
       | Is there auto syncing from Apple Photos? That's the missing
       | feature in Google Photos for me.
        
       | greatNespresso wrote:
       | Impressed by the loading speed of pictures, how does that work?
        
         | radialapps wrote:
         | It uses very complex hand optimized SQL queries to do
         | everything in a single database query. The database is also
         | structured in a way to support this.
         | 
         | The result: each request overall only takes a few milliseconds
         | for the hardest part, the rest of the optimization is a game of
         | caching.
        
       | spencerflem wrote:
       | I was just setting this up last weekend! Its lovely, really well
       | put together. If this is your project, thank you so much
        
         | radialapps wrote:
         | Great to hear that!
         | 
         | It's FOSS and I only work on this in my free time, so please
         | keep the bug reports coming as you run into them! :)
        
       | greensoap wrote:
       | I think this is relevant; but does anyone know of any software
       | that is able to tag photos based on quality- like blur, framing,
       | composition. We have too many photos. So many duplicates from the
       | same day. I've dreamed of something that would tag or prune based
       | on the best of from any given set of photos. It would turn our
       | library of 80000 random photos into a set of photos I can put on
       | a frame and see the "good ones".
        
         | radialapps wrote:
         | This one has been on my mind for a long time. A good start
         | would be blurred photos, duplicate identification and finding a
         | generically "good" photo given a set (e.g. photos from a single
         | location)
        
         | zilti wrote:
         | digiKam might have this or similar, or there might be a plugin
         | for it. It's gotten so many features that I hardly know what's
         | going on anymore.
        
       | sampli wrote:
       | I'm a big fan of https://immich.app/ and I use it every day for
       | thousands of assets
        
       | hereme888 wrote:
       | I tried it a year ago through Nextcloud AIO and it barely
       | worked... Has it had major improvements since? Or is it because I
       | was using the AIO version of Nextcloud?
        
       | XiS wrote:
       | Tried this a year ago, it was a real mess, barely worked and
       | broke often.
       | 
       | Hopefully it changed a lot in the meantime because I would really
       | like this to be integrated into NextCloud.
       | 
       | I the meantime, I'm really happy using Immich
        
       ___________________________________________________________________
       (page generated 2024-03-21 23:00 UTC)