PhotoPrism: Browse Your Life in Pictures

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • PhotoPrism

    AI-Powered Photos App for the Decentralized Web πŸŒˆπŸ’Žβœ¨

  • Sure I can. But it's not always that simple. Let's look at the repository for the software discussed in this thread [1]

    I see one dockerfile and 7 docker compose files (.yml)

    The dockerfile does not apparently do anything useful. I'd be amazed if running that dockerfile by itself produced anything useful

    Now, I don't know very much about docker compose, but I learned a bit of it in order to get this software running on my server. If I worked at it, I could almost certainly get a working install of PhotoPrism without using Docker, but it would be annoying work, and I wouldn't have any certainty. I wouldn't know that it was correct, and any time something didn't work the way I expect, I would worry that I screwed something up during the installation

    Not to mention the added operational complexity involved in managing a dockerized application compared to managing e.g. an equivalent webapp deployed without containerization (systemd service file, configuration file, etc)

    [1] https://github.com/photoprism/photoprism

  • immich

    High performance self-hosted photo and video management solution.

  • I used PhotoPrism some time ago when it was slightly less featured, but wasn't satisfied with it. The dealbreaker for me is auto mobile backup. PhotoPrism relies on a third party app to "sync" photos, which isn't the same as backing them up. With that said, PhotoPrism is all the rage in the self-hosting community and I can definitely see why.

    Conversely, Synology Photos (which I use instead now) has a fantastic mobile app. However, if you really want reliable and granular object/face recognition, the Syno app is a little bare bones. It does some face recog but that's really it.

    Another project I've been keeping my eye on is immich: https://github.com/immich-app/immich

    I'm happy for now with Syno Photos but it would be nice to have my photo app in my container environment with everything else I run and just use the NAS for media storage like I intended to.

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • PiGallery 2

    A fast directory-first photo gallery website, with rich UI, optimized for running on low resource servers (especially on raspberry pi)

  • Also check out PiGallery for a more light weight solution https://github.com/bpatrik/pigallery2 (with less features of course, but it may work if you only want an online gallery)

  • photoview

    Photo gallery for self-hosted personal servers (by photoview)

  • I looked at a bunch of these 2 years ago and ended up using PhotoView for a private gallery. It had the right mix of simplicity and features, and I was actually able to get it running.

    https://github.com/photoview/photoview

  • photo-autorganize

  • I wrote some scripts a few years ago to do just that. I haven’t used them myself in a while, but they should still be good.

    https://github.com/jonathankoren/photo-autorganize

  • czkawka

    Multi functional app to find duplicates, empty folders, similar images etc.

  • I used to use DupeGuru which has some photo-specific dupe detection where you can fuzzy match image dupes based on content: https://dupeguru.voltaicideas.net/

    But I switched over to czkawka, which has a better interface for comparing files, and seems to be a bit faster: https://github.com/qarmin/czkawka

    Unfortunately, neither of these are integrated into Photoprism, so you still have to do some file management outside the database before importing.

    I also haven't used Photoprism extensively yet (I think it's running on one of my boxes, but I haven't gotten around to setting it up), but I did find that it wasn't really built for file-based libraries. It's a little more heavyweight, but my research shows that Nextcloud Memories might be a better choice for me (it's not the first-party Nextcloud photos app, but another one put together by the community): https://apps.nextcloud.com/apps/memories

  • dupeguru

    Find duplicate files

  • I used to use DupeGuru which has some photo-specific dupe detection where you can fuzzy match image dupes based on content: https://dupeguru.voltaicideas.net/

    But I switched over to czkawka, which has a better interface for comparing files, and seems to be a bit faster: https://github.com/qarmin/czkawka

    Unfortunately, neither of these are integrated into Photoprism, so you still have to do some file management outside the database before importing.

    I also haven't used Photoprism extensively yet (I think it's running on one of my boxes, but I haven't gotten around to setting it up), but I did find that it wasn't really built for file-based libraries. It's a little more heavyweight, but my research shows that Nextcloud Memories might be a better choice for me (it's not the first-party Nextcloud photos app, but another one put together by the community): https://apps.nextcloud.com/apps/memories

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • duplo

    Detect duplicate (or similar) images. Written in Go.

  • And if you just want to go by the pixel data, look into "perceptual hashing". https://github.com/rivo/duplo works quite well for me, even when dealing with watermarks or slight colour processing / sharpening. You could even go further and improve your success rate with Neural Hash or something similar.

  • mash-playbook

    πŸ‹ Ansible playbook which helps you host various FOSS services as Docker containers on your own server

  • This is why I like https://github.com/mother-of-all-self-hosting/mash-playbook and its associated Ansible roles for configuring various services.

    All the portability of Docker, plus (something close to) the ease of use of installing a distro package like an .rpm or .deb.

  • photodb

    A photo management tool in Rust (with libraw)

  • I went about depdup in a similar but opposite way then you did - https://github.com/mgolub2/photodb

    I used libraw to read the actual raw data from my images, ignoring possible metadata that can get changed/updated by Capture One for example. The raw data is just fed into a hashing function, to get an exact content hash. Does not work if your image is down-sampled of course, but that was actually my goal - I want to know if the raw content has changed/bit flipped, but don't care if the metadata is altered or missing.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts