diff --git a/readme.md b/readme.md index e98342b..94bbeb2 100644 --- a/readme.md +++ b/readme.md @@ -4,38 +4,38 @@ I've been on a quest to replace most of my daily software needs with open-source ## Comparison - ✅ = Feature exists in at least a limited fashion - 🚧 = Feature may exist but may not be practical or officially released - ❌ = Feature does not yet exist - #️⃣ = Subjective measure of feature quality (on scale of 0-10) - +✅ = Feature exists in at least a limited fashion +🚧 = Feature may exist but may not be practical or officially released +❌ = Feature does not yet exist +#️⃣ = Subjective measure of feature quality (on scale of 0-10) **Tip:** Hover over icons for missing/incomplete features for more information -| Feature | [Damselfly](https://github.com/Webreaper/Damselfly) | [Immich](https://github.com/alextran1502/immich) | [Librephotos](https://github.com/LibrePhotos/librephotos) | [Nextcloud Photos](https://github.com/nextcloud/photos/) | [Photonix](https://github.com/photonixapp/photonix) | [PiGallery2](https://github.com/bpatrik/pigallery2) | [Photoprism](https://github.com/photoprism/photoprism) | [Photoview](https://github.com/photoview/photoview) | [Piwigo](https://github.com/Piwigo/Piwigo) | -| :---------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ---------------------------------------------------------------------- | -------------------------------------------------------------------------- | ------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------- | ------------------------------------------------------------------- | -| Github Stars | ![?](https://img.shields.io/github/stars/Webreaper/Damselfly?label=%20) | ![?](https://img.shields.io/github/stars/alextran1502/immich?label=%20) | ![?](https://img.shields.io/github/stars/LibrePhotos/librephotos?label=%20) | ![?](https://img.shields.io/github/stars/nextcloud/photos?label=%20) | ![?](https://img.shields.io/github/stars/photonixapp/photonix?label=%20) | ![?](https://img.shields.io/github/stars/bpatrik/pigallery2?label=%20) | ![?](https://img.shields.io/github/stars/photoprism/photoprism?label=%20) | ![?](https://img.shields.io/github/stars/photoview/photoview?label=%20) | ![?](https://img.shields.io/github/stars/Piwigo/Piwigo?label=%20) | -| Active Contributors | 1 | 1 | 1 | 2 | 1 | 1 | 4 | 1 | 3 | -| Source Language | C# | Dart | Python | JavaScript | Python | TypeScript | Go | Typescript/Go | PHP | -| License | ![?](https://img.shields.io/github/license/Webreaper/Damselfly?label=%20) | ![?](https://img.shields.io/github/license/alextran1502/immich?label=%20) | ![?](https://img.shields.io/github/license/LibrePhotos/librephotos?label=%20) | ![?](https://img.shields.io/github/license/nextcloud/photos?label=%20) | ![?](https://img.shields.io/github/license/photonixapp/photonix?label=%20) | ![?](https://img.shields.io/github/license/bpatrik/pigallery2?label=%20) | ![?](https://img.shields.io/static/v1?label=%20&message=GPL-3.0&color=orange) | ![?](https://img.shields.io/github/license/photoview/photoview?label=%20) | ![?](https://img.shields.io/github/license/Piwigo/Piwigo?label=%20) | -| Demo | ❌ | ❌ | ✅6️⃣ | ✅7️⃣ | [✅](https://demo.photonix.org/login)8️⃣ | [✅](https://pigallery2.herokuapp.com/gallery)8️⃣ | [✅](https://try.photoprism.app)9️⃣ | [✅](https://photos.qpqp.dk/)9️⃣ | [✅](https://piwigo.org/demo)9️⃣ | -| Freeness | ✅🔟 | ✅🔟 | ✅🔟 | ✅🔟 | ✅🔟 | ✅🔟 | [🚧](https://photoprism.app/get)7️⃣ | ✅🔟 | ✅🔟 | -| Automatic Mobile Upload | [❌](https://github.com/Webreaper/Damselfly/issues/40) | ✅7️⃣ | ❌ | ✅4️⃣ | ❌ | ❌ | ✅6️⃣ | [❌](https://github.com/photoview/photoview/issues/129) | ✅7️⃣ | -| Web App | ✅8️⃣ | ✅8️⃣ | ✅8️⃣ | ✅5️⃣ | ✅7️⃣ | ✅7️⃣ | ✅7️⃣ | ✅8️⃣ | ✅8️⃣ | -| Mobile App | ❌ | [✅](https://github.com/alextran1502/immich#step-4-run-mobile-app)6️⃣ | [✅](https://github.com/LibrePhotos/librephotos-mobile)6️⃣ | [✅](https://nextcloud.com/clients/)5️⃣ | [✅](https://github.com/photonixapp/photonix-mobile)4️⃣ | ❌ | [🚧](https://docs.photoprism.app/user-guide/pwa/) | [✅](https://apps.apple.com/dk/app/photoview-media-gallery/id1578380271)6️⃣ | [✅](https://www.piwigo.org/mobile-applications)7️⃣ | -| Desktop App | ✅9️⃣ | ❌ | ❌ | ❌ | [❌](https://github.com/photonixapp/photonix/issues/61) | ❌ | ❌ | ❌ | ❌ | -| LivePhotos Support | ❌ | [❌](https://github.com/alextran1502/immich/issues/160) | [❌](https://github.com/LibrePhotos/librephotos/issues/287) | ✅7️⃣ | [❌](https://github.com/photonixapp/photonix/issues/250) | ❌ | ✅7️⃣ | [❌](https://github.com/photoview/photoview/issues/273) | [❌](https://github.com/Piwigo/Piwigo/issues/1677) | -| Video Support | [❌](https://github.com/Webreaper/Damselfly/issues/82) | ✅8️⃣ | ✅8️⃣ | ✅6️⃣ | [❌](https://github.com/photonixapp/photonix/issues/295) | ✅8️⃣ | ✅7️⃣ | ✅7️⃣ | ✅4️⃣ | -| Photo Map | [❌](https://github.com/Webreaper/Damselfly/issues/312) | ✅4️⃣ | ✅8️⃣ | ✅6️⃣ | ✅9️⃣ | ✅8️⃣ | ✅7️⃣ | ✅8️⃣ | ❌ | -| Photo Discovery | ❌ | ❌ | ✅7️⃣ | ✅3️⃣ | ❌ | ❌ | ✅6️⃣ | ❌ | ✅1️⃣ | -| Albums | [❌](https://github.com/Webreaper/Damselfly/issues/238) | ✅8️⃣ | ✅9️⃣ | ✅3️⃣ | ✅5️⃣ | ✅6️⃣ | ✅8️⃣ | ✅6️⃣ | ✅8️⃣ | -| Timeline | ✅5️⃣ | ✅9️⃣ | ✅9️⃣ | ✅5️⃣ | ✅5️⃣ | ✅5️⃣ | ✅5️⃣ | ✅9️⃣ | ✅3️⃣ | -| Photo Sharing | ❌ | ✅4️⃣ | ✅9️⃣ | ✅5️⃣ | ❌ | ✅7️⃣ | ✅7️⃣ | ✅8️⃣ | ✅5️⃣ | -| Photo Search | ✅8️⃣ | ✅7️⃣ | ✅8️⃣ | ✅3️⃣ | ✅8️⃣ | ✅7️⃣ | ✅8️⃣ | ✅5️⃣ | ✅7️⃣ | -| Docker Installation | ✅8️⃣ | ✅7️⃣ | ✅7️⃣ | ✅6️⃣ | ✅8️⃣ | ✅7️⃣ | ✅6️⃣ | ✅8️⃣ | [❌](https://github.com/Piwigo/Piwigo/pull/816) | -| Object/Face Recognition | ✅8️⃣ | ✅6️⃣ | ✅8️⃣ | [🚧](https://github.com/nextcloud/photos/issues/144)3️⃣ | ✅8️⃣ | ✅6️⃣ | ✅9️⃣ | ✅6️⃣ | [🚧](https://github.com/Piwigo/Piwigo/issues/1159) | -| Basic Editing | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | -| EXIF data viewing | ✅9️⃣ | ✅7️⃣ | [❌](https://github.com/LibrePhotos/librephotos/issues/77) | [❌](https://github.com/nextcloud/photos/issues/226) | ✅7️⃣ | ✅7️⃣ | ✅9️⃣ | ✅7️⃣ | ✅7️⃣ | -| Multiple User Support | ✅7️⃣ | ✅7️⃣ | ✅8️⃣ | ✅7️⃣ | ✅7️⃣ | ✅7️⃣ | [❌](https://github.com/photoprism/photoprism/issues/98) | ✅6️⃣ | ✅8️⃣ | + +| Feature | [Damselfly](https://github.com/Webreaper/Damselfly) | [Immich](https://github.com/alextran1502/immich) | [Librephotos](https://github.com/LibrePhotos/librephotos) | [Lychee](https://github.com/LycheeOrg/Lychee) | [Nextcloud Photos](https://github.com/nextcloud/photos/) | [Photonix](https://github.com/photonixapp/photonix) | [PiGallery2](https://github.com/bpatrik/pigallery2) | [Photoprism](https://github.com/photoprism/photoprism) | [Photoview](https://github.com/photoview/photoview) | [Piwigo](https://github.com/Piwigo/Piwigo) | +| :------------------------ | --------------------------------------------------------------------------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------ | ------------------------------------------------------------------------ | ---------------------------------------------------------------------------- | -------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | --------------------------------------------------------------------- | +| Github Stars | ![?](https://img.shields.io/github/stars/Webreaper/Damselfly?label=%20) | ![?](https://img.shields.io/github/stars/alextran1502/immich?label=%20) | ![?](https://img.shields.io/github/stars/LibrePhotos/librephotos?label=%20) | ![?](https://img.shields.io/github/stars/LycheeOrg/Lychee?label=%20) | ![?](https://img.shields.io/github/stars/nextcloud/photos?label=%20) | ![?](https://img.shields.io/github/stars/photonixapp/photonix?label=%20) | ![?](https://img.shields.io/github/stars/bpatrik/pigallery2?label=%20) | ![?](https://img.shields.io/github/stars/photoprism/photoprism?label=%20) | ![?](https://img.shields.io/github/stars/photoview/photoview?label=%20) | ![?](https://img.shields.io/github/stars/Piwigo/Piwigo?label=%20) | +| Active Contributors | 1 | 1 | 1 | 3 | 2 | 1 | 1 | 4 | 1 | 3 | +| Source Language | C# | Dart | Python | PHP | JavaScript | Python | TypeScript | Go | Typescript/Go | PHP | +| License | ![?](https://img.shields.io/github/license/Webreaper/Damselfly?label=%20) | ![?](https://img.shields.io/github/license/alextran1502/immich?label=%20) | ![?](https://img.shields.io/github/license/LibrePhotos/librephotos?label=%20) | ![?](https://img.shields.io/github/license/LycheeOrg/Lychee?label=%20) | ![?](https://img.shields.io/github/license/nextcloud/photos?label=%20) | ![?](https://img.shields.io/github/license/photonixapp/photonix?label=%20) | ![?](https://img.shields.io/github/license/bpatrik/pigallery2?label=%20) | ![?](https://img.shields.io/static/v1?label=%20&message=GPL-3.0&color=orange) | ![?](https://img.shields.io/github/license/photoview/photoview?label=%20) | ![?](https://img.shields.io/github/license/Piwigo/Piwigo?label=%20) | +| Demo | ❌ | ❌ | ✅6️⃣ | ✅4️⃣ | ✅7️⃣ | [✅](https://demo.photonix.org/login)8️⃣ | [✅](https://pigallery2.herokuapp.com/gallery)8️⃣ | [✅](https://try.photoprism.app)9️⃣ | [✅](https://photos.qpqp.dk/)9️⃣ | [✅](https://piwigo.org/demo)9️⃣ | +| Freeness | ✅🔟 | ✅🔟 | ✅🔟 | ✅🔟 | ✅🔟 | ✅🔟 | ✅🔟 | [🚧](https://photoprism.app/get)7️⃣ | ✅🔟 | ✅🔟 | +| Automatic Mobile Upload | [❌](https://github.com/Webreaper/Damselfly/issues/40) | ✅7️⃣ | ❌ | ❌ | ✅4️⃣ | ❌ | ❌ | ✅6️⃣ | [❌](https://github.com/photoview/photoview/issues/129) | ✅7️⃣ | +| Web App | ✅8️⃣ | ✅8️⃣ | ✅8️⃣ | ✅8️⃣ | ✅5️⃣ | ✅7️⃣ | ✅7️⃣ | ✅7️⃣ | ✅8️⃣ | ✅8️⃣ | +| Mobile App | ❌ | [✅](https://github.com/alextran1502/immich#step-4-run-mobile-app)6️⃣ | [✅](https://github.com/LibrePhotos/librephotos-mobile)6️⃣ | [❌](https://github.com/LycheeOrg/Lychee/issues/1013) | [✅](https://nextcloud.com/clients/)5️⃣ | [✅](https://github.com/photonixapp/photonix-mobile)4️⃣ | ❌ | [🚧](https://docs.photoprism.app/user-guide/pwa/) | [✅](https://apps.apple.com/dk/app/photoview-media-gallery/id1578380271)6️⃣ | [✅](https://www.piwigo.org/mobile-applications)7️⃣ | +| Desktop App | ✅9️⃣ | ❌ | ❌ | ❌ | ❌ | [❌](https://github.com/photonixapp/photonix/issues/61) | ❌ | ❌ | ❌ | ❌ | +| LivePhotos Support | ❌ | [❌](https://github.com/alextran1502/immich/issues/160) | [❌](https://github.com/LibrePhotos/librephotos/issues/287) | ✅[6️⃣](https://github.com/LycheeOrg/Lychee/issues/1283) | ✅7️⃣ | [❌](https://github.com/photonixapp/photonix/issues/250) | ❌ | ✅7️⃣ | [❌](https://github.com/photoview/photoview/issues/273) | [❌](https://github.com/Piwigo/Piwigo/issues/1677) | +| Video Support | [❌](https://github.com/Webreaper/Damselfly/issues/82) | ✅8️⃣ | ✅8️⃣ | ✅6️⃣ | ✅6️⃣ | [❌](https://github.com/photonixapp/photonix/issues/295) | ✅8️⃣ | ✅7️⃣ | ✅7️⃣ | ✅4️⃣ | +| Photo Map | [❌](https://github.com/Webreaper/Damselfly/issues/312) | ✅4️⃣ | ✅8️⃣ | ❌ | ✅6️⃣ | ✅9️⃣ | ✅8️⃣ | ✅7️⃣ | ✅8️⃣ | ❌ | +| Photo Discovery | ❌ | ❌ | ✅7️⃣ | ❌ | ✅3️⃣ | ❌ | ❌ | ✅6️⃣ | ❌ | ✅1️⃣ | +| Albums | [❌](https://github.com/Webreaper/Damselfly/issues/238) | ✅8️⃣ | ✅9️⃣ | ✅8️⃣ | ✅3️⃣ | ✅5️⃣ | ✅6️⃣ | ✅8️⃣ | ✅6️⃣ | ✅8️⃣ | +| Timeline | ✅5️⃣ | ✅9️⃣ | ✅9️⃣ | ❌ | ✅5️⃣ | ✅5️⃣ | ✅5️⃣ | ✅5️⃣ | ✅9️⃣ | ✅3️⃣ | +| Photo Sharing | ❌ | ✅4️⃣ | ✅9️⃣ | ✅9️⃣ | ✅5️⃣ | ❌ | ✅7️⃣ | ✅7️⃣ | ✅8️⃣ | ✅5️⃣ | +| Photo Search | ✅8️⃣ | ✅7️⃣ | ✅8️⃣ | ✅3️⃣ | ✅3️⃣ | ✅8️⃣ | ✅7️⃣ | ✅8️⃣ | ✅5️⃣ | ✅7️⃣ | +| Docker Installation | ✅8️⃣ | ✅7️⃣ | ✅7️⃣ | ✅7️⃣ | ✅6️⃣ | ✅8️⃣ | ✅7️⃣ | ✅6️⃣ | ✅8️⃣ | [❌](https://github.com/Piwigo/Piwigo/pull/816) | +| Object/Face Recognition | ✅8️⃣ | ✅6️⃣ | ✅8️⃣ | [❌](https://github.com/LycheeOrg/Lychee/issues/1266) | [🚧](https://github.com/nextcloud/photos/issues/144)3️⃣ | ✅8️⃣ | ✅6️⃣ | ✅9️⃣ | ✅6️⃣ | [🚧](https://github.com/Piwigo/Piwigo/issues/1159) | +| Basic Editing | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | +| EXIF data viewing | ✅9️⃣ | ✅7️⃣ | [❌](https://github.com/LibrePhotos/librephotos/issues/77) | ✅7️⃣ | [❌](https://github.com/nextcloud/photos/issues/226) | ✅7️⃣ | ✅7️⃣ | ✅9️⃣ | ✅7️⃣ | ✅7️⃣ | +| Multiple User Support | ✅7️⃣ | ✅7️⃣ | ✅8️⃣ | ❌ | ✅7️⃣ | ✅7️⃣ | ✅7️⃣ | [❌](https://github.com/photoprism/photoprism/issues/98) | ✅6️⃣ | ✅8️⃣ | **Note:** This list is by no means comprehensive. For links to other photo library projects, see the [Awesome Self-Hosted](https://github.com/awesome-selfhosted/awesome-selfhosted#photo-and-video-galleries) list.