Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Memories – FOSS Google Photos alternative built for high performance (memories.gallery)
797 points by radialapps 8 months ago | hide | past | favorite | 230 comments
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! :)




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


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)


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.


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!


I agree. I used to use Nextcloud and upgrades were a mess. I missed one once and tried to upgrade and the whole thing went nuclear. The upgrade started and failed, breaking everything.

I found have read the note but how can a dev agree to have an upgrade started knowing it will fail and fuck up the db??. Thank you borg for the backup.

It is such a mess in their container that they could not agree on how to get the real IP being looked.

This is really crappy software.

Syncthing is fantastic and just works (right after you get your PhD in syncthingology because, man, it is complicated when you start)


Another question for your FAQ might be "what is NextCloud?"


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.


Please add to FAQ:

Is my data encrypted?

Thank you!


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.


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


Is that data in the data centre encrypted?


I don't think that Hetzner has the next cloud encryption turned on. So I assume it is not encrypted but when I use syncthing, I can turn on encryption there for the NC node.


But then an app like Memories wouldn't be able to read your files, would it?


That's correct as far as I know.


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.


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.


Immich is awesome for this and many other things. Automatic facial recognition feature in immich is also great.


Is there a hosted service of Immich? I'm keen to try it but really don't want the faff of self hosting (happy to pay!).


Yes! Pikapods, which is a service to "self host" open source tools cheaply. I discovered and implemented this yesterday during lunch, took only a few minutes.

you get $5 in credit without entering a CC

https://www.pikapods.com/


I don't think they offer hosted solution yet. I self host but donate to the project.

Not hard to set up, using docker compose. Just remember to set up automated backups, since there is no company taking care of that.


There’s a demo account, that’s all I think


I can 2nd Immich, nextcloud sync was just terrible for me also.


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!"


And PHP project run as extension on Nextcould is not? Cmon.


I have nothing agains Immich or cheering for Memories. Just stating what Immich is saying on their homepage.


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/


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.


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)


I belive the existing integrations typically use Openai compatible api's and just need a seperate docker image or bare metal deployment for the local instances.

Other than that it's just installing a Nextcloud app and pluging in a URL and API key


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.


Makes me wonder whether Google is scanning all photos for text and making use of the data found.


Well, the GP comment already pointed out they do use it for Photos search. Generally if someone is paying for the disk space to store your data, that’s with some use in mind, at the very least serving it back.

Now, if you worry about some use you wouldn’t like… These are declared in open, if possibly too large, text in all the privacy policies. As a Googler I can tell you the internal bureaucracy for upholding these is dead serious. My product is used only by Google employees in their work duties, yet it took a couple months for us to get access to stats of our own UI. Something like an ads subsystem wanting to read a photos data field is likely to involve quarters of disputes with multiple lawyers.


Considering you're not paying for the product.. yes, they totally are.


Google photos charges if you want more than 15GB of storage.


Used to be infinite, until they got all the training data they needed


It still is.. if you use a pixel 5.


I still have my pixel 4a for that reason


You can literally search for text in photos so yes, they are.


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


Yes. Yes.


Does it preserve and/or allow editing of the text metadata (typically, the generative prompt) appended to PNG files created with Stable Diffusion?


That's exif metadata, so it should Just Work™


No idea what that is


older versions of png did not support an exif chunk, so other metadata/property chunks were/are sometimes used


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.


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?


You can share folders and albums that don't need an account to view. Folders do support password protection as well.


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.


Folders: this is fully supported. You can share out links of folders that anyone can upload to etc. These get stored in that folder (in your account) then.

Albums: partial support. You can share links to albums that are viewable or share albums with others with an account on your nextcloud instance. People who have an account can upload photos to the shared albums.


I’m very interested in this. Is there a demo server or a description of what the process looks like for uploading to one of these folders from an iPhone or Android device?


I ask because the demo server doesn't seem to allow uploading any images.


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.


#ThatDropboxComment ;)


Photoprism has gallery sharing and the share links can have expirations.


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.


Disable notifications and it's gone


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.


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.


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


Ahh, thank you, I did install the preview generator but missed the initial run, thanks!


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.


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


Indeed. Backward compatibility is also a major goal and there have been almost no major breaking changes since v2 (at v7 currently)


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


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.


There is an Android app, not for iOS yet. https://play.google.com/store/apps/details?id=gallery.memori...



Is there any photo-syncing at play? Or it's just a viewer for the data already on your NextCloud instance.

If I take photos with my phone, I have to manually upload them to NextCloud?


Just use the Nextcloud Android / iOS apps for auto upload. Memories automatically picks up everything that's uploaded.


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


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


This is moot.

- Immich supports external libraries

- Use docker compose and never worry about versions breaking


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


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?


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


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.


You can add any folder to immich as external library. No need to use cli.

So if you want custom structure, synchronize files from mobile to server in any way you prefer (Syncthing, PhotoSync, etc.) and add that folder as an external library.


This is quite a basic feature which should be inbuilt to the Immich mobile app. It's a common use case to want your screenshots, WhatsApp media album to not be displayed on the main timeline.

If you're running an instance for less technical users it's more hiccups to setup syncthing etc and have to explain why another app is needed.


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.


Having tens of thousands of photos in Immich, I am surprised how accurate the model is. It rarely gets it wrong and when it gets it wrong, it usually happens with similar baby faces of close relatives.


I need to dig deeper, but for now I just want to say how delightful it is to be able to go to the next/previous photo by swiping even if I've zoomed in. Google Photos makes me zoom all the way back out first with a huge pinch, which leads to a lot of frustration when swipes fail to change the photo. Nice work.


"It's not a bug, it's a feature".

Many rely on this "issue" to prevent people from swiping to photos they're not supposed to see - a common enough occurence when showing someone a photo on your phone.


Reminds me of this: https://javlaskitsystem.se/2012/02/whats-the-waiter-doing-wi...

Users will always find a way...


"prevent people from swiping to photos they're not supposed to see"

I feel this is a common problem and there could be a solution like long-press pop a menu that allows you to lock 'just this pic' until photos is closed and reopened.. or select 'pics from just today' or 'pics just from the past XX minutes'

Or something, this issue is huge in a lot of circumstances.


Indeed. Maybe there should be a setting for this functionality so you can turn it on/off according to your preferences.


I was just setting this up last weekend! Its lovely, really well put together. If this is your project, thank you so much


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! :)


How is it compared to https://ente.io/ ?


Different goals.

Ente is commercial, Memories is free

Ente is focused on E2EE, Memories is focused on self-hosting.


ente.io is fully open source since 2024:

https://ente.io/blog/open-sourcing-our-server/


It has a commercial offering, but it isn't "commercial" and provide self hosting fyi. https://github.com/ente-io


looks like memories has auto-categorization


Would it be good for federation? As in ability to dump a large amount of mixed quality images on a local instance and then sync only a subset ("tagged favorite", "rated 4+ stars" or something like that) to an off-site instance. Because that's my number one requirement for image management: convenient management of the image selection subset pyramid.

I know nextcloud has some federation features, but I have no idea if that could be put to work based on some exif criteria or other file metadata.

For all I know this could be a killer feature that would be enough on its own to motivate the nextcloud plugin vs standalone decision, or it might be completely useless as in federation only based on entire folders.


I've been using Synology Photos. Not OSS but they have Android/iOS app so that I can just log in once and enable auto-backup.


Where can I give you money? I see nothing on the support page.


The GitHub has sponsors, thanks! :)

https://github.com/sponsors/pulsejet


Congrats on building this, looks great!

Minor feedback: could you update the text or image to link to nextcloud? I know nothing about nextcloud, the project mentions it and I wanted to read more.


These are all similar things that Gallery (https://en.wikipedia.org/wiki/Gallery_Project) promised (not the same features because location for example wasn't a thing). And delivered on for a great number of years, really well. It seemed like the future of image hosting. And then it slowly trailed off, v3 of Gallery did get released but to a lukewarm reception (the old plugins/addons didn't work and the cloud was just starting to take over) and then yea, it just died.

I have my gallery still online these days, with a fork so that PHP8 still works with it, but I've had to hide it behind an IP Access list now because I don't trust it being public facing anymore.

I don't mean to shit on this project, I hope it's massively successful. We need more awesome open source apps like this. But I've been burnt once already pouring my heart and soul into an open source image gallery so I'm not going to do it again.

In hindsight I wish I'd put all my photos in Flickr (I thought I was being so clever using Gallery) because it's stood the test of time that Gallery didn't. These days I use Google Photos, I can't see it going away anytime soon (though of course it's Google so who knows)

Sorry this rant is probably very offtopic. The product itself looks amazing and I DO hope it achieves the success that Gallery couldn't.


Does it have perceptual hash duplicate detection?


Great work Varun.

Doing photos is one thing, but doing it to scale and also with high performance at the client is a very nice accomplishment.


Thank you!


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


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


You might wanna consider adding a page to your docs about setup on hetzner since it's so popular for NC hosting.

Seems that it is possible to get it mostly working based on this issue: https://github.com/pulsejet/memories/issues/110


They also don't support the recognize app. https://www.reddit.com/r/NextCloud/comments/19acyje/managed_...


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)


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.


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.


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.


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


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.


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


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. Nothing here is helpful, at all. There's absolutely zero indication of what could be fixed and why this particular person's deployment is broken while thousands of others on much slower hardware work just fine. None.


Yeah, you're right. You should say "please file a detailed bug report and consider contributing to the project", instead of being a dick about it.

The other comments you posted are also a bit odd without you disclosing you're the author. just saying


100% agree, generally speaking.

In this case I was rather annoyed since the original comment was very offensively worded and the person obviously had zero intention of helping out. Their only goal was to stroke their own ego by shouting out how something they couldn't get to work is crap.

This is part of the reason for open source maintainer burnout -- useless comments about how something is broken with zero intention of helping to fix it. Hey, it's free -- if you don't like it then either help, or stop crying and move on to something else.


You asked for feedback in your post. No more, no less. Then you started flaming a person for giving their feedback. And start defending the flaming because you actually wanted feedback _in a certain format and worded nicely_.

You are doing great stuff with Memories. Community building skills need some work though.

That is my feedback. Which you asked for.


Totally understandable sentiment!


Well I for one would like to say I truly appreciate the brilliant work you have done. The app is a joy to use and I have had several coworkers ask what website I was using when I show them something.

Your work has given me reminders to memories I long forgot about, and nothing can come close to the importance of recalling good memories.


I, for one, am sick of "just run the Docker image" as a deployment strategy and the be-all end-all of support. On my last attempt at serving a photo gallery, I deployed Hetzner's Photoprism image on a Hetzner server... and it failed. You would think such a thing would be bulletproof! They don't tell you an IPv4 address is needed and the log does not indicate anything is wrong other than Traefik has problems connecting to the certificate server.

If something doesn't work—regardless of how unhelpful the report or oddly configured the deployment machine is—I would love to hear about it so I temper my own expectations before trying it myself.

While I sympathize with the developer whose product is popular enough to collect 1000 issues as of two days ago, some of your many thousands of users can also get fatigued by spending resources (time, money, mental effort) on deployments that fail because the machine and network running Docker is still different enough from yours that issues arise.

My Hetzner Photoprism bug report has been sitting unanswered for two weeks. Getting the log data and trying out different DNS configurations and writing the bug report took a few hours, because I had to SSH into the Docker image and run curl verbosely and figure out which of the five docker-compose elements was causing problems; running Docker and setting up servers isn't my day job. I don't feel like paying 25 bucks a year for an IPv4 address and don't really want to figure out how to get Let's Encrypt to work on Hetzner's IPv6 by manually adjusting the Docker Compose configuration. I thought that's the point of Docker Compose: that you wouldn't need to dick around with it to get it working. I'll probably delete the thing and replace it with something else—potentially Nextcloud as there's no preconfigured Immich image. So, you know... expect my Memories bug report in a few days.

I can't imagine this user's complaint was fabricated from thin air. Rude or not, they are having problems with the thing you made. Make a mental note, "at least some small percent of users are still having issues, in this case no clear root cause, probably a small enough population to ignore, maybe one day further reduce the friction for reporting bugs or find a way to gather more detailed info." Maybe put them in their place if they actually attack you personally or actually have no useful information e.g. "Product Sucks!!" but beyond that, I (as a potential fellow user) find these not-very-dev-helpful reports insightful, as there are two dozen competing FOSS photo storage programs and I want to efficiently figure out which application has features I prefer, is actually stable and easy to deploy, not likely to switch licenses going forward, has a clear goal and steady progress, documentation is well-written and not just a "Brothers Karamazov" dump of one developer's stream of consciousness, etc.

Should I take two or three hours to file bug reports for each of the 20 photo albums I'd consider testing instead of spending time with family or practicing music? Maintainer fatigue is no joke, but it's also a burden on users if the software does not run, and they've already sunken some opportunity cost, and then not every user knows how to be kind and helpful through their frustration.

Anyway, your reaction is valid. I hope you keep working on the project, but I'd also be okay with not having so many different FOSS options and still no clear winner.


Last post can't be edited.

I got done loading a Nextcloud image and it works fine. It's also a different base server and configured differently, and it has IPv4 without extra cost. The only issue so far is that ffmpeg is not detected by Memories so transcoding cannot be enabled, even if I install the only app related to ffmpeg, "Automated media conversion." I'll have to keep reading to see if that's the right app. The server is managed in a way that I can't ssh or change anything Docker-related. I can only log in to Nextcloud at a given URL, so I don't know how run commands from the documentation such as "occ ..." With enough time, I can search if this is usable or not.

It will take probably 20 or 30 minutes to figure out running commands and if ffmpeg can be installed/accessed. I've already committed an hour to this platform even before uploading a single ARW, although I'm already farther along than I was with Photoprism...

EDIT: 24 minutes. I can run occ commands. I can't install ffmpeg. Many others have the same well-known problem: no video thumbnails. Oh well, not a dealbreaker.


The day SMB supports server-side thumbnail generation/caching, kindly let me know :]


Any suggestions on the best workflow to export out of Google Photos? I have ~200GB in Google Photos and would need to eg put together the weird Google Photos metadata into usable format for Memories


Google Takeout. Importing from takeout metadata is supported (at least edits to the images; not albums right now)


I tried using Takeout but the exported file structure and various metadata files were almost incomprehensible. This is likely partly my fault because I didn't download the full 100+ zip files, but I suspect there would be so many files scattered in too many directories to be much use.


I found this in an HN comment https://metadatafixer.com/ I haven't used it but it looks pretty promising


Yeah this was what my concern was basically


I set this up today, it's very nice, thank you! It indexed more than a decade of photos in a couple of hours and gave me geocoding and "on this date" back more than a decade. I didn't realize I could per-generate thumbnails on my server, too, your docs helped me out a bit there. Have you looked at how much in common the EXIF data elements can be shared with a desktop DAM like Digikam?

I'm looking forward to the Android app being available in an F-Droid repository!


Nice work! Been looking for a good standalone photo manager for a while.

Three questions:

1. Can we do multiple person search? Eg: photos with Person A and Person B?

2. Any plans for descriptive search using CLIP or any of the existing neural networks out there?

3. I see we can edit the exif description, but maybe can we have a custom caption box? eg: "Mum and Dad in 1993". Ideally that would also be available for search, and it would appear more explicitly when browsing photos (kind of like a real album with the notes written next to each photo).


You should try Immich. It already does 1. and 2. very well.


What are your thoughts on PhotoPrism?


It's nice, but $24/year/forever to have multiple users is a bit much...


$24 a year is too much?


When every other aspect of the app is basically free, yes. I would pay once for the functionality, not as a subscription.


They offer a lifetime price of $128.

https://www.photoprism.app/membership/faq

> Are there alternatives to a recurring subscription? > > Yes, our Plus members automatically receive a free Lifetime Essentials membership after 24 months


My thoughts? Too slow. No timeline view. Looks terrible.


How hard would this be to deploy the old-fashioned way (as an executable on my own linux box, no docker/nexcloud/prevcloud/bulbasaur/cerebii/cubone)?


Easy to deploy, hard to configure right. All you need is PHP + an HTTP server (then tune it https://docs.nextcloud.com/server/latest/admin_manual/instal...)


Impressed by the loading speed of pictures, how does that work?


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.


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?


The project is a little over a year old, so yeah lol


What's the vps specs required to get started? I do not need ai features for example. Just a place for family to store photos on.

Preferably on the cheapest vps with s3 backend


See the demo above. It runs on a free-tier VM from Oracle.

Minimum requirements are quite low. Mainly you need memory to get good performance (at least 4GB, say). CPU-wise it runs fine with massive libraries even on RPi.

I don't recommend S3 as external storage though; the Nextcloud implementation is quite finicky. Unless you can mount that and use it inside docker, that would work fine.

EDIT: features like AI are all optional.


I currently use Mylio. The feature I like most is that I can store a compressed version of my entire catalog on my phone so it's very quick to find something and it works offline. I can then download the full res image if I want it.

My biggest complaint about Mylio is there is still no automatic synchronisation from Android. You have to leave the app open for it to sync.

Wondering if the Memories Android app can handle both of these points?


First one is interesting, not possible at the moment.

The Nextcloud app is used for auto-upload, that does support background upload at least on Android.


Does it have search by keywords/semantics? That would be my main need. For example if I need to find photos of red algae I could just search for that.

OpenAI open sourced CLIP a couple of years ago: https://github.com/openai/CLIP and I was planning to write something myself to index my vast photo library but got too lazy and gave up.


Not yet, search is a major planned feature


I don't see this in the demo so I'll ask here: what does the UI look like for identifying unknown faces? In Picasa there was a tab somewhere with unknown faces grouped together by what it thought were the same person. It had a really good flow for this that was perfect for doing genealogy work with loads of old photos.


I gave the demo album a whirl on my Pixel 8 Pro in Chrome.

Two bugs stood out to me immediately:

1. Tapping on the i button does nothing.

2. After clicking around on some images, the back button was mostly useless until I pressed it like 10 times. I think it works for album navigation but stops working when you start photo navigation.


Thanks for the useful report! Fixes are in the pipeline and should land in the next version


Can I search for a text in a photo?

Off topic: what’s the best desktop application that allows that? A lot of my pics in my iPhone are still there because of this feature, but if there’s a program that does the same on windows/linux, I will be happy to use instead.


I started playing with 'image scan ocr' (from the windows store I think) - to bulk pull the text from a bunch of screenshots / pics - hoping to export it all and make it searchable..

It did some things well, but I did not complete the mission for reasons I can't recall.

I think powertoys->Text Extractor

and other windows apps have this built in now, including the built-in win 11 'snipping tool' - ( https://www.windowscentral.com/software-apps/windows-11/what...

I was reading that MSsoft preinstalled Edge browser has " Enable Edge Screenshot Tool with Copilot, OCR and Search" - but I am unsure if this is on device or shared to cloud.


Great work and finally I could take that step of bringing all the pictures together locally.


Is there auto syncing from Apple Photos? That’s the missing feature in Google Photos for me.


There is an Auto upload function in the Nextcloud APP, I believe it works on IOS


Nextcloud itself is a PWA. Did you have to do anything special to make what seems like essentially your own PWA inside another? I ask because I'd love to turn the nextcloud/tasks app into a PWA but was concerned about how it could work.


Not much, it works pretty much out of the box.


Have been using it for a couple of months now! Wife and I love the album feature which helps us to maintain photo albums async.

It is a huge step up from the default photo's app in Nextcloud. Absolutely wonderful stuff.


In our testing environment, it can load a timeline view with 100k photos in under 500ms, including query and rendering time! --- Wow, and why is that necessary?


Because we have limited time in this world and waiting for photos to load isn't the best way to spend that time


I would really like to see an integrated camera app that allows me to hide my photos from the OS so that big brother doesn't automatically ingest them


The Nextcloud App (Not the Memories Nextcloud app) allows taking a photo that goes directly to the server. It's also got a Scan document feature that I use to scan to a Paperless folder for processing.


If you don’t trust your OS, how can you trust it to run an app? Apps can’t hide data from the OS that’s running them.


I’m concerned about what the OS is doing in accordance with its privacy policy or terms of service. Without having read them (I am only human) I assume the photos in the default location are sent off for analysis to “improve your experience by showing you relevant advertising”. I would be surprised if this above-board surveillance went as far as crawling the filesystem


Would be nice if someone could create an Unraid community application for this.


Are there any migration ways (to for instance offload everything from iCloud to Memories)?


Looks polished!


right, i think i have a new project this weekend.

I've been trying to find a way out of google photos... but that auto OBJECT and face tagging is a so useful. I can search for car and get cars, or dog and get dogs etc I look forward to testing this out!


Oh god. I <3 for making this.


This great, Thanks for sharing!


The demo is really cool! Congrats on the launch!


Hi! I love it - how can I reach out to you?



Missed opportunity to call it FOTOSS.


this is awesome!


PHP? Really? Why?


Because Nextcloud is made in PHP and it's not a bad language? It's been a long time since PHP5


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


Try https://ente.io/

I like it very much.


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.


Your setup is what I set out to build. Ente.io is what I landed in after I managed to put it off so long. Congrats on actually doing it


My wife ain't happy with performance. Hence I tried Immich, Photoprism, even attempted using Redis but not satisfied with any of these.

After installing Nextcloud Preview plugin it might've improved. I am currently processing entire library with Nextcloud Face Recognition plugin model 4 (= 1 + 3) since model 1 only recognizes our kids as same person. Almost done, then I tag clusters and give it a whirl.

Nextcloud Memories is ready as I speak but because I put strip EXIF on uploads, it isn't as useful.


Thanks, that looks really interesting!


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)


Man, I've yet to find the perfect solution for this. Photoprism was really promising at first but the Dev can't seem to handle the stress of trying to make this pay his rent. Sometimes he reacts really pissed if people complain about something missing/broken, and not just if they're unreasonable or something. Just not very clever if that's the same people who are paying you. Pull requests get denied or rejected for the smallest of reasons. yes, it's his project and you should not just merge any crappy code, but it's things like rejecting an API extension by developers of the mobile app so they eventually give up on the app.

The facial recognition is subpar and performs worse the more faces you tagged, but it's always the users fault somehow, instead of accepting that yes even though you put a lot of work and effort into it, the result might be bad.

Then somehow immich comes along and manages to basically become a better photoprism over night because it's somehow just a well managed project accepting a lot of contributions without the code turning into complete shit.

I don't know what to say. I'm still a sponsor of photoprism bot it seems the guy running it is his own worst enemy in some ways.


Somehow I'm relieved by this comment, that it's not just me. I've tried communicating with the author about face recognition and always got answers that I considered slightly rude and off-putting. I shook it off, contributed some money, and I'm still a user. I'll take a look at immich now though.


Being a "hero" open source dev for a project like that can require a lot of neuroticism.

Sometimes it works, but sometimes the project is just too big, I think.


None of those negatives you mentioned apply to Immich.


Also check out the nc-photos Android app, it's a nice companion app for Memories:

https://gitlab.com/nkming2/nc-photos


Wanted to drop a note here: nc-photos is really nice but Memories does also have an Android app of its own

https://play.google.com/store/apps/details?id=gallery.memori...


Oh wow, that's news to me. I'll check it out


Shout out for photo prism, similar concept, with nice ai search, and doesn't need next cloud, just a folder. https://www.photoprism.app/

No affiliation, just a happy consumer.


I'm a happy consumer, too, but I would say speed is not Photoprism's strength.


Still requires hosting AFAICT. Would you know of a native Windows software alternative, perhaps? I could probably manage to host Photo Prism or Memories, but there's no way my parents would take the time to learn and set up a server, yet they have decades of pictures to sort through.


They offer a hosted service, on PikaPods:

https://www.photoprism.app/cloud


does it do automatic tagging / recognizing faces / scenes / objects?


Sort of. It uses TensorFlow for object recognition and categorization. I personally wouldn't say it's very reliable. I'm not going to compare it to Google Photos, though, as I never fed my photo library to the latter.


They have a features page : https://www.photoprism.app/features


Yes but it is very unreliable. Especially for recognizing kids.


I’m a big fan of https://immich.app/ and I use it every day for thousands of assets


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


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)


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.


Delete the bad ones.


Why didn't I think of that?


This, but unironically. You're asking for some solution to a problem you shouldn't have. Keeping shitty photos is hoarding and making your life worse. Hit that delete button.


Ugh, it's tied to Nextcloud. Is there a standalone option?


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


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.


It's just not helpful to complain about someone else's work, either.


Especially considering there's an answer already at https://memories.gallery/faq/


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.


I don't know anything about Nextcloud, what's wrong with it?


No


Doesn't seem to be.


Is here any FOSS, self-hosting (single-user is Ok), alternative to flickr? With all its albums, collections, photostream, map, keywords, etc?

I'm looking at this Memories now, but I don't like first page, sorry, with all photos is small and divided with white spaces and dates...

But I don't need any metadata editing, AI and mobile apps, I need gallery for high-quality photos to view on big screens.


I have been using https://www.photoprism.app for a couple of years, and it works better than expected, with the latest updates it's actually quite fast and the face tagging works reasonably well.


I've been using Lychee for many years - https://github.com/LycheeOrg/Lychee

Memories looks like a nice alternative, anyone using Lychee here with a comparison?


Can't compare myself, but here's a general comparison table between various alternatives in this space that someone has been maintaining.

https://github.com/meichthys/foss_photo_libraries


Wow, the state of self-hosted photo libraries has gotten way better since I last settled on Photoprism a few years ago. Both Memories and Immich seem very polished. The timeline features look great. I may need to play around with these.


does it support HDR? live photos? 4K HDR videos? dare I say, new apple "spatial" video format?


HDR kinda works, depends on the photo. Live photos are fully supported (Apple/Google/Samsung/Xiaomi at least). HDR videos are a pain to transcode, it mostly doesn't work well (but this is not very well tested / worked on). No idea about the spatial stuff.


> transcode...

I guess other important point is to store originals as well (or maybe even rendering originals directly). and also RAW format for audio video.

then comes question on handling 250GB+ videos and libraries for TBs sizes

Apple Photos rocks in all of the above. and it also works excellently offline.

to beat it you have to really solve those problems..


Only the originals are stored. Transcoding is needed to play any video in browsers, e.g. HEVC isn't supported by most browsers. For this, Memories transcodes your video on the fly and streams it to the browser with HLS. RAW support for photos is easy and already supported, no idea about videos.

As far as "beating" Apple, I'm ready to bet that'll never happen (not just with this project but any really). A small open source project can't really compete with a $2T company


got it. guess my point is that excellent support for latest formats are super important for this to be viable for mass user

(AFAIK latest browsers still do not support HDR photos.. so guess would be hard to implement in open source those).


Just curious: what's the business model for something like this.


Doesn't look like it's a business, so probably no business plan.


It's free


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


Umm the project barely existed a year ago, it was in very early stages.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: