OpenSourcePicks

Open source alternatives to popular software, with live GitHub data

GitHub stats refreshed every day

Damselfly

Server-based photo manager for large folder archives, with fast search and Picasa-style keyword tagging

Visit DamselflyGitHub

Main features

  • Indexes a whole folder tree and watches it for changes
  • JPG, PNG, HEIC, TIFF, WebP, BMP and RAW (DNG, CR2, ORF, NEF)
  • Local face detection and recognition, object detection and color classification
  • Full-text search with filters for date, camera, lens, size, orientation and faces
  • Search for visually similar images
  • Keyword tags written into files with ExifTool, without re-encoding JPEGs
  • Basket for export, watermarking or WordPress upload, shareable between users
  • Move, copy and delete images via a trash folder
  • Map of geotagged photos
  • Multiple users with roles such as read-only
  • Desktop client for macOS, Windows and Linux that syncs selected images locally

What Damselfly does

Damselfly is a photo management server for people with very large, folder-based archives. Its author built it to replace Google’s discontinued Picasa, and the workflow shows it: fast search, quick keyword tagging and a “basket” for collecting images to work on. The README says a search across a 500,000-image catalog returns in under a second.

It indexes every image under one top-level folder (several shares can be mounted as subfolders), watches the folders for changes and keeps the catalog current in the background. Search combines full text with filters for date ranges, camera and lens, file size, orientation, detected objects and faces, and images that still have no keywords. It can also find visually similar pictures.

Tagging and metadata

Keywords are written into the image files as IPTC tags with ExifTool, so JPEGs are not re-encoded and the tags travel with the files to other software such as digiKam or Lightroom. Face detection, face recognition and object detection run locally and offline; an earlier dependency on Microsoft’s Azure Face API was dropped. You tag a person once and Damselfly finds them in other photos.

Images in the basket can be downloaded, exported at different sizes with a watermark, or uploaded to WordPress. Baskets can be personal or shared. Damselfly can move and copy images between folders and delete them through a trash folder.

Desktop client

An Electron-based desktop client for macOS, Windows and Linux connects to the server and copies basket images into a local folder with the same structure, for editing in your usual tools. Syncing edited files back to the server is listed as future work; for now the author suggests a tool such as Rclone.

Self-hosting Damselfly

The usual install is one Docker container with three volumes: the photo library, a config folder holding the SQLite database and settings, and a thumbnails folder. It can also run without Docker on Windows, Linux or macOS. On Linux, large libraries may need higher inotify limits because Damselfly creates one file watcher per folder. On a Synology NAS it can reuse the thumbnails that DSM already generated.

The first full index is demanding. The author reports that thumbnail generation for half a million photos took more than five days on his Synology NAS, and AI processing can be limited to a time window when the machine is otherwise idle. A .nomedia file excludes a folder.

Hosted version

There is no hosted service; Damselfly is a single-developer project supported by donations.

Limitations

Damselfly has no mobile app, upload or share links, and video is listed only as possible future work. Simple editing and de-duplication are in progress. Development is slower than in the larger projects: the most recent commit at the time of review was in January 2026.

Who it suits

Damselfly suits photographers and archivists with tens or hundreds of thousands of images on a NAS who want Picasa-like tagging with keywords stored in the files. For a photo library with phone backup, see Immich; for search and maps over a folder archive with an active team behind it, see PhotoPrism.

Technical details

Self-hosting needs

  • SQLite
  • ExifTool

Built with

  • C#
  • .NET
  • Blazor

GitHub topics

  • blazor
  • docker
  • efcore
  • exif
  • face-detection
  • image
  • image-processing
  • iptc-metadata
  • photography

Reviewed by the OpenSourcePicks editors from the project's repository and documentation. Something out of date? Tell us.