Essential insights from Hacker News discussions

Ask HN: What's the 2025 stack for a self-hosted photo library with local AI?

Self vs. Cloud Hosting and Data Ownership

A significant portion of the discussion revolves around the pros and cons of self-hosting photo management solutions versus relying on cloud services, with a strong emphasis on data ownership. Users express clear preferences for keeping their data under their own control, away from large tech companies.

  • "Self hosting and owning your own data," stated by import.
  • adezxc offered a rationale for avoiding cloud giants: "because you don't want your data being held by Google or Apple?"
  • noncoml expressed a desire to "keep home lab maintenance to a minimum" when choosing self-hosted solutions, highlighting a trade-off between control and convenience.
  • darknavi illustrated the difficulties in accessing data programmatically from cloud services, referencing limitations with Google Photos and rclone: "The current google API does not allow photos to be downloaded at original resolution. This is very important if you are, for example, relying on 'Google Photos' as a backup of your photos. You will not be able to use rclone to redownload original images."

Feature Comparison of Photo Management Software

Users actively compare various open-source and commercial photo management solutions, discussing their strengths and weaknesses across a range of features, including AI capabilities, performance, user interface, and ease of use. Immich and PhotoPrism are frequently mentioned and contrasted.

  • mossTechnician introduced Ente as a solution that "has face recognition and AI-based object search out of the box, and you can self-host their open-source server without any restrictions."
  • When discussing Immich, kevincox provided a detailed performance analysis: "The Immich app's performance is awful. It is a well known problem and their current focus. I have pretty high confidence that it will be fixed within a few months. Web app is totally fine though."
  • nullify88 commented on PhotoPrism's database requirement: "I wanted to like Photoprism because unlike Ente and Immich, it supports SQLite databases and doesn't require postgres (I want to keep home lab maintenance to a minimum) but the UI was difficult to like and I couldn't get hardware encoding working on my Intel N100 GPU."
  • iforgotpassword offered a direct comparison between PhotoPrism and Immich: "I currently use photoprism, but it's moving rather slowly. Facial recognition misses a lot of faces, the automatic clustering works fine at first but once you tagged a few thousand faces the implementation grinds to a halt... Immich seems to be the other extreme. Moving really fast with a lot of contributors, but stuff occasionally breaks, the setup is fiddly, but the Ai features are 100x more powerful. I just don't like the ui as much as photoprism. I with there was some kind of blend of the two, on a middle ground of their dev philosophies."
  • osdamv stated, "Photoprism is ok, but the AI features of immich are far superior."
  • lucideer praised Immich's user experience: "Been running immich on my home server for about a year now. Near zero maintenance stack, incredibly easy to update, the client mobile apps even notify you (unobtrusively) when your server has an update available. The UI is just so polished & features so stable it's hard to believe it's open source."

AI and Machine Learning for Photo Analysis

A core theme is the application of AI and machine learning techniques to enhance photo management, specifically for tasks like facial recognition, object detection, image captioning, and content-based search. Users discuss specific models and approaches.

  • mossTechnician highlighted Ente's capabilities: "It has face recognition and AI-based object search out of the box..."
  • stormfather suggested exploring alternative models: "I would try the Qwen models before LLaVa" and questioned the necessity of private embeddings: "Do you need the embeddings to be private? Or just the photos?"
  • msgodel recommended a more direct approach for photo indexing: "For photo indexing I'd run CLIP directly and save on compute, no need to use a whole language model."
  • coffeecoders detailed a personal project using various models for a sophisticated search capability: "As of now, I use SentenceTransformer model to chunk files, blip for captioning (“Family vacation in Banff, February 2025”)) and mtcnn with InsightFace for face detection. My index stores captions, face embeddings, and EXIF metadata (date, GPS) for queries like “show photos of us in Banff last winter.”"
  • simonw pointed to readily available local models for image description: "There are some spectacular local models for generating text descriptions of images now. I suggest starting with Mistral Small 3.2, Gemma 3 and Qwen 2.5VL - all available via Ollama."
  • ciaranmca found PhotoPrism's face recognition to be effective: "I have used https://www.photoprism.app/ and have found the face recognition to work quite well."
  • nico shared his experience using Gemma for image analysis: "However, I've had very good experiences running gemma3 (4b and 12b) locally via ollama. I've used gemma to process pictures and get descriptions and also to respond questions about the pictures (eg. is there a bicycle in the picture?)." He also suggested a processing pipeline: "You could also try creating a processing pipeline, first extracting faces or bounding boxes of the faces with something like opencv, and then passing those to gemma3."
  • weinzierl inquired about self-hosted solutions for automatic image pre-selection: "In addition to all of that I want an AI solution that pre-selects good images for me, so I do not have to go through all of them manually. Similar to Apple Memories or Featured Photos. Is there anything self-hosted like that?"
  • spacecadet shared his experience using "SmolVLM" for generating image descriptions and embeddings: "I built this same solution for myself last year, used Hugging Face's 'SmolVLM'. It works surprisingly well. I use the model to generate verbose descriptions of each image, embed the descriptions using another model, which I also use for the query embedding."
  • swyx broadly categorized AI benefits for photo management: "(and semantically index/search, face recognition... what else does AI get us these days?)"

Use of Cloud Storage Solutions (S3-compatible)

The discussion touches on the integration of cloud storage, particularly S3-compatible solutions, within self-hosted applications. While some users question its relevance for self-hosting, others explain its flexibility.

  • darkwater questioned the focus on S3 for self-hosted apps: "Why the focus on S3 for a self-hosted app? Anyway kudos for the effort, I'm not experiencing performance issues in my locally self-hosted Immich installation but more performant software is always welcome."
  • rkagerer echoed this sentiment: "I'm wondering the same thing. He had me until he said 'S3'."
  • bargainbin provided a rationale for S3 compatibility: "Likely means S3 compatibility so it can be used with anything, be it a cloud provider or a locally hosted solution like minio."
  • denysvitali further clarified, "S3-compatible storage. In my case, Backblaze B2. The idea is to make the backend compatible with rclone, so that one can pick whatever storage they want (including B2 / S3 and others)."

Specific Tools and Libraries Mentioned

Several specific software tools, libraries, and frameworks are mentioned for various aspects of photo management and AI processing.

  • ranger_danger provided a list of potential solutions: "https://immich.app/, https://ente.io/, https://photonix.org/, https://github.com/LibrePhotos/librephotos, https://github.com/photoprism/photoprism"
  • nullify88 mentioned postgres and sqlite.
  • denysvitali referenced his own backend replacement project: "[1]: https://github.com/denysvitali/immich-go-backend"
  • coffeecoders shared his in-progress project: "Code (in progress): https://github.com/neberej/smart-search"
  • xnx suggested digikam.org.
  • ssnepenthe pointed to home-gallery.org/internals.
  • wooben discussed Nextcloud with Recognize and Memories apps, as well as go-vod and redis.
  • jan_tse mentioned auto-syncing and pi 4.
  • syncthing was mentioned by sigmonsays in conjunction with photoprism.

Discussion on Privacy and Encryption

Privacy and end-to-end encryption (E2EE) are discussed in the context of photo storage, particularly concerning Ente's approach.

  • akho found Ente's proposition unusual: "The Ente self-hosting proposition seems strange. Why would I want to e2e encrypt my photos that I self-host? Sounds like it will only make life more difficult."
  • mossTechnician defended Ente's choice: "1. 'Self-hosted' doesn't always mean 'on your own hardware.' Some people rent VPSes. This helps keep their data safe. 2. The software is provided without modification; I think it would be stranger to remove the encryption."
  • nicoburns described Ente as a, "independent commercial solution with E2E encrypted cloud storage and local AI (EDIT: apparently you can also self-host)".
  • sneak elaborated on Ente's privacy model: "I pay them for service/storage as it’s e2ee and it doesn’t matter to me if they or I store the encrypted blobs."

User Experience and Interface (UI/UX) Preferences

User experience and the polish of the user interface are important factors in evaluating photo management software, with differing opinions expressed.

  • nullify88 found PhotoPrism's UI "difficult to like."
  • denysvitali praised Immich's frontend: "Their frontend is amazing, their apps are not as performant, and the backend is (IMHO) the worst of them all."
  • lucideer found Immich's UI to be "so polished."
  • iforgotpassword stated about Immich, "I just don't like the ui as much as photoprism."

Performance Considerations for Large Collections

The ability of these solutions to handle very large photo collections is a point of interest and concern for users.

  • kreyenborgi asked, "Have you tried all of these? How are they with very large photo collections?"
  • kevincox, who manages "about 100k photos and videos which are a bit over 1 TiB", found no significant performance issues with PhotoPrism and Immich, aside from specific Immich app performance problems.
  • iforgotpassword noted PhotoPrism's performance issues with large numbers of tagged faces: "once you tagged a few thousand faces the implementation grinds to a halt and the background worker runs for hours pegging single cpu core."
  • darkwater mentioned that Immich's pace of development might lead to stability: "While Immich development release versions every 2-3 weeks on average, and a breaking one every 4-6 months, they are approaching the stable release, so the pace should also down a bit."

Ease of Setup and Maintenance

The complexity of setting up and maintaining these self-hosted solutions is also a recurring theme.

  • nullify88 wanted to "keep home lab maintenance to a minimum" influencing their preference for SQLite.
  • lucideer found Immich to be "incredibly easy to update."
  • darkwater felt Immich's setup was "pretty standard IMO."
  • wooben discussed their Nextcloud setup using Docker and Docker Compose.
  • jan_tse mentioned running a similar configuration on a Pi 4.