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