Readit News logoReadit News
Posted by u/radialapps 2 years ago
Show HN: Memories – FOSS Google Photos alternative built for high performancememories.gallery/...
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! :)

codethief · 2 years ago
Fantastic project!

> No Lock-In

> Memories stores most of the metadata in the EXIF headers of your photos, which means that you can easily migrate to other solutions without losing your data. It also utilizes your existing filesystem structure for organization without converting it to any specialized format

Given that, would a standalone version be feasible, i.e. one that doesn't rely on Nextcloud and only operates on a folder on disk? I mean, while Memories might not lock you in, Nextcloud can still do so. (No two-way sync etc. etc.)

Currently, I just use Syncthing to synchronize all my files across devices (laptop, phone, home server, …) and it works splendidly! Ideally I'd just want to run Memories either locally (on the local copy of my photos folder) or on my home server (on the home server's copy of my photos folder).

radialapps · 2 years ago
Thank you!

I wrote a bit on why Nextcloud a while back, I'll link it here (see point 5 in FAQ): https://memories.gallery/faq/#faq

As such, Nextcloud doesn't really lock you in; it just provides a framework for the app. You can, theoretically, continue to use Syncthing to sync files while running Nextcloud on top of it (probably not ideal though)

I want to note though, the "no lock-in" philosophy refers more to being able to move out of Nextcloud/Memories at any point if you want. Nextcloud still just stores everything on your disk as folders and files, so you can just decide to nuke it one day and still have everything (not fully true yet, you'll still lose some things like tags and albums; exporting these out too is WIP)

headmelted · 2 years ago
I like the approach taken here. Nextcloud is becoming the defacto open-personal-cloud standard so it makes sense to integrate photos into that. If Nextcloud were getting up to shenanigans in the future I'm confident the project would be forked, and in the meantime I don't expect it would be hard to plug in an alternative backend.

I think for an open-source and/or self-hosted solution to come close to an approximation of google cloud/iCloud/whatever we need projects like this to be able to pick their niche and hyper-focus on it, which leaning on Nextcloud does in this case I feel.

codethief · 2 years ago
Thanks so much for elaborating!

For what it's worth, I think for people like me (who already use Syncthing and Tailscale), all the reasons the FAQ mention for why Nextcloud is really necessary (auth, file upload, etc.) are already covered, which is why I'd be so interested in something a little bit more lightweight.

(As an aside, I am not sure I agree on the "Nextcloud upgrades are seamless" part – every time I've had to upgrade a Nextcloud instance so far I was in for a world of pain.)

Anyway, I wish you tons of success with your project! :) It might be what will push some of my family members to leave Google Photos and/or Dropbox, and that would be a huge win already!

skybrian · 2 years ago
Another question for your FAQ might be "what is NextCloud?"
evrial · 2 years ago
So you saved yourself overhead in lines of code by pushing that overhead to people who don't want Nextcloud platform as slow piece of irreparable bloatware.
BodyCulture · 2 years ago
Please add to FAQ:

Is my data encrypted?

Thank you!

raybb · 2 years ago
Probably not what you want but I use rclone to mount my hetzner NC instance and have syncthing that points to that mounted folder. It's been pretty hands free solution for me since I don't have a computer at home that's always on. It all started because I didn't want to keep getting sync conflicts with my obsidian notes between laptop and phone.
codethief · 2 years ago
I'm not sure I'm following: What do you use Syncthing for if on your laptop you mount your remote Nextcloud storage anyway (and presumably use the Nextcloud client on your phone)?
BodyCulture · 2 years ago
Is that data in the data centre encrypted?
adrr · 2 years ago
Biggest missing feature for all these self hosted photo hosting is the lack of a real search. Being able to search for things like "beach at night" is a time saver instead of browsing through hundreds or thousands of photos. There are trained neural networks out there like https://github.com/openai/CLIP which are quite good.
kn100 · 2 years ago
Immich does exactly this with CLIP models, you can even customise which CLIP model it uses and it does a phenomenally good job, I'd personally say surpassing even Google Photos.
Jnr · 2 years ago
Immich is awesome for this and many other things. Automatic facial recognition feature in immich is also great.
ic3man5 · 2 years ago
I can 2nd Immich, nextcloud sync was just terrible for me also.
vincnetas · 2 years ago
Immich warning from the home page :

"The project is under very active development. Expect bugs and changes. Do not use it as the only way to store your photos and videos!"

vishnumohandas · 2 years ago
Hey, we run CLIP on the device at Ente[1]. Like you noted, the search experience is quite interesting.

[1]: https://ente.io/blog/image-search-with-clip-ggml/

dugite-code · 2 years ago
Nextcloud has some neural network integrations so implementing something like that might be possible. The Memories app can already use the Recognize app for the smart tags for Photos.

Combining it with "The Search Page" app makes it a quite comfortable experience as is.

kzisme · 2 years ago
How easy are these integrations to setup? I use straight up Nextcloud sync and while it works most of the time sometimes it's a little finnicky (when I don't have cell service or something like that)
schainks · 2 years ago
Google Photos can already do this pretty well. I use the feature daily without friction. Sometimes, but not always, it can even pull text from receipts I photograph, which is handy for expense reporting.
beezle · 2 years ago
Makes me wonder whether Google is scanning all photos for text and making use of the data found.
leononame · 2 years ago
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 · 2 years ago
Yes. Yes.
gwbrooks · 2 years ago
Does it preserve and/or allow editing of the text metadata (typically, the generative prompt) appended to PNG files created with Stable Diffusion?
bl4kers · 2 years ago
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.

collin128 · 2 years ago
This for me too.

The reason I pay for tons of extra Google photos storage is it tags and uploads and pics of my kiddos to an album shared with all the grandparents. It's their favourite app in the world and I'm never allowed to cancel.

Could I replicate that here?

radialapps · 2 years ago
You can share folders and albums that don't need an account to view. Folders do support password protection as well.
singhrac · 2 years ago
Does it support allowing others to upload photos as well (eg from a group trip)? If it does I’ll install it today on my homelab.
magic_hamster · 2 years ago
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 · 2 years ago
#ThatDropboxComment ;)
hoherd · 2 years ago
Photoprism has gallery sharing and the share links can have expirations.
anigbrowl · 2 years ago
This looks promising, plus it won't try to push its idea of my favorite photos at me when my phone detects I'm awake each day - a gPhotos behavior I find increasingly creepy and never asked for.
mcfedr · 2 years ago
Disable notifications and it's gone
spurgu · 2 years ago
Not sure why you're getting downvoted (upvoted to counter). I assume you mean the notifications of Google Photos (and not disabling notifications altogether). I don't see any legitimate use for them so might as well just turn them off.

Edit: It doesn't change the fact that the behavior is creepy though. Maybe that's the criticism.

stavros · 2 years ago
This is fantastic, better photo viewing is the only thing I was missing from Nextcloud, since without this I basically can't see any photos (they're too slow and the UX is bad).

I installed this, indexed the photos, etc, but I still get lots of grey boxes (photos not loading) when I browse. Am I missing something, or is my server just too slow for this?

EDIT: I think my server is just too slow. The entire machine freezes when loading one of the photos.

radialapps · 2 years ago
You're missing the preview generator, so it's trying to generate them on demand. See https://memories.gallery/config/#recommended-apps

Also note there are some extra config steps for the preview app (initial run, cron job). See https://github.com/nextcloud/previewgenerator

stavros · 2 years ago
Ahh, thank you, I did install the preview generator but missed the initial run, thanks!
conqrr · 2 years ago
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.
dugite-code · 2 years ago
I've been using it for quite a while and had no issues with the app at all. Only one hick-up with Nextcloud itself but that was really my fault if I'm honest
radialapps · 2 years ago
Indeed. Backward compatibility is also a major goal and there have been almost no major breaking changes since v2 (at v7 currently)
pathsjs · 2 years ago
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 · 2 years ago
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 · 2 years ago
There is an Android app, not for iOS yet. https://play.google.com/store/apps/details?id=gallery.memori...