top | item 33046281

Lychee – Self-hosted photo-management done right

261 points| shrx | 3 years ago |lycheeorg.github.io

120 comments

order
[+] stackedinserter|3 years ago|reply
> Made for photographers

Please someone make a photo/video storage for families. Our photo stream is not artisan award-winning landscapes, they're messy bunch of travel photos, pictures of receipts and random exif-less pngs sent to us.

[+] mceachen|3 years ago|reply
Hey, I'm building that!

https://photostructure.com/faq/why-photostructure/

The novel random "taste" UI makes navigating even very large libraries fun and serendipitous.

There are a ton of configurable image and video filters that can prevent the exif-less screenshots and other random nose from getting imported in the first place. Hop into the discord if you need any help with setup, I'm online.

(Also, know that I've open sourced a bunch of the core functionality, but this is commercial software, albeit with a very generous "free" tier).

[+] ongy|3 years ago|reply
Have a look at https://photoprism.app/ then.

I think their actual multi-user story is somewhat lacking, but if you want a shared picture dump with some features that help sorting through a bunch of random images it should work well.

[+] LeoPanthera|3 years ago|reply
If this existed, but also contained AI object recognition to automatically tag and describe photos, I would pay actually quite a lot of money for it.
[+] bbq123|3 years ago|reply
I'm making something similar for my own use for now.

Create a trip, upload a 1000 of pictures, delete all but 100-200, see them on the map or on the timeline. Add comments to individual pics or to location or to dates.

And yes, the whole family can upload pics and they can be batch assigned a date or location.

Too early to show anything yet.

[+] Terretta|3 years ago|reply
iOS 16.1 adds a family camera roll.

It's not a shared album with lower res dupes, it's a real camera roll implemented as iCloud photo stream that multiple people can be permissioned to, with photos from your regular camera going in either manually, or automatically based on geofencing or proximity to other roll members. It can also retroactively suggest merging photos from shared events etc.

Your main camera roll then can show only private photos, shared photos, or both.

Apple One for Family includes 2TB storage and account owner can now optionally merge in their own 2TB for a total of 4TB for family photos.

In other news, iOS 16.0 now makes it easier for photo notes to end up in Notes not photos, also easier to snap send and delete, snap images of text to actual text, etc, many easier ways to avoid gunking up the photo roll.

[+] vladstudio|3 years ago|reply
I researched my options for self hosted file storage that would include (modest) photo viewer and audio player. I tried, among others, Lychee and Photoprism.

I found not so popular web app - FileRun - and have been very happy with it so far.

https://www.filerun.com/

[+] brulard|3 years ago|reply
Hello Vlad, I just came to tell you that I'm a big fan of your wallpapers since forever. Your style is one of my very few favourites. Thanks a lot for your work!
[+] breakds|3 years ago|reply
Just want to say that filerun is a really good option for self-host NAS with WebDAV support as well as a nice web app. Would definitely recommend.

Even though you use filerun to host files, you can still point Lychee/Plex etc to the photos and videos, which might be inside a subdirectory under the root directory of your filerun instance.

[+] Helmut10001|3 years ago|reply
I considered Lychee but went for Photoview [1] for internal exploration of my photos [1], which follows the 4-facets principle (who, what, when, where). There's a map (where), an album view (what), face recognition (who), and a timeline (when). All of these make it pretty convenient for different purposes. It is also folder-based and I set it up in read-only mode, so Photoview doesn't modify my files or structures.

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

[+] shrx|3 years ago|reply
Disclaimer: I'm not associated with the Lychee dev team, just a very happy user. I've been using Lychee to self-host my photos for years now and the experience has been extremely positive. The interface is beautiful, intuitive and very streamlined. The layout supports both desktop and mobile browsers. The project is under active development and the developers take a lot of effort in addressing the open issues on the github repo. If you're looking for a self-hosted photo gallery solution, this is highly recommended.
[+] ggm|3 years ago|reply
De duplication is the killer feature. Especially if it can handle edited files even partially.

Exif tag management is a nightmare. Dublin core on steroids. Date and time handling for approximate time knowledge kills many systems.

It has to make choices about photo import implications for file path, and for file atime and mtime and multiple exif times, and private tags.

Google honours a ridiculous small set of tags, and never reread. Google does sidecar files to avoid file change breaking hash values.

All decisions have consequences. Photoprism and exiftool forums abound with special cases. A million of them.

[+] mceachen|3 years ago|reply
Deduplication is a hairy problem, and was my first priority to solve when trying to get my own mess of photos together when I started writing PhotoStructure.

I'm on the fifth major iteration of image hashing at this point, using a L*a*b mean hash, along with a kmeans-gathered set of dominant colors, along with dynamic thresholds that take into account differing mimetypes, fuzzy captured at times, and monochromatic images.

This explains a bunch of the issues and tradeoffs I made while assembling the heuristics in PhotoStructure : https://photostructure.com/faq/what-do-you-mean-by-deduplica...

[+] khimaros|3 years ago|reply
PhotoPrism is another option in this space which includes some automated ML tagging of images.
[+] jhauris|3 years ago|reply
Looks really nice! I could definitely give this a try. For others who are looking for possible deal breakers:

It's AGPL

They have the community version/premium model. Differentiators of premium (from https://photoprism.app/features):

* support

* higher max res (900MP vs. 150MP)

* non-rate limited reverse geocoding

* higher quality maps

* premium themes

* visual configuration options

* hardware video transcoding

[+] candiddevmike|3 years ago|reply
Photoprism doesn't support multiple accounts yet, which may be a deal breaker for some.
[+] rabbitofdeath|3 years ago|reply
100% this - I tried a handful of self-hosted options and PhotoPrism is the fastest that I tested with sane folder organization for your filesystem.
[+] Xeoncross|3 years ago|reply
I feel like only scripting language projects like this ever take off (owncloud, wordpress, ghost, etc..)

Like the kind of developer that tries to write the Rust/Go/Erlang/Haskell version ends up stuck on finding the perfect way to handle errors, trying to include a complex ML recommendation system, or creating a custom embedded database with fast lookup times for the possibility of albums with 100 million photos.

Meanwhile, PHP and Ruby keep pumping out these fun little systems that have security holes every few months and need constant babysitting.

Sorry, I don't mean to be negative. I'm really glad to see this, it just prompted some reflection.

[+] ASalazarMX|3 years ago|reply
Maybe because scripting languages are very pleasant to use in backends. Few things in web development beat the joy of changing a single line, pushing the affected file, and (usually) seeing it take effect immediately. I've developed websites in .Net and doing a tiny change becomes a big chore of serious business.

Surely there are critical web applications that need compiled code and scalability, but hobby projects benefit from the accessibility interpreted languages provide. Maybe if it becomes popular the effort of porting it to a safer and more performant platform would be worth it.

[+] LinuxBender|3 years ago|reply
This looks nice. I might try it out.

One nitpick, the .git directory is rather large and probably needs some attention as it is 129MB. The tests directory also has a bit of photo content. Perhaps this could be stored outside of git somehow? Excluding those directories the repository would be less than 11MB.

[+] ochrist|3 years ago|reply
Thumbs up for Lychee. I've used it for a couple of years, and it works great. I have begun to upload my photos (and even video snippets) to my own public website for sharing. For me it was important to be able to share private albums via some simple kind of user management, and that works fine. Not affiliated in any way. Just a happy user. I've recently upgraded to PHP 8, and Lychee still works without problems.
[+] sorenjan|3 years ago|reply
One of my favorite features in Google Photos is the map view. I often can't remember when I took a photo, but know where it was. Open the map, navigate to where I took it, and there it is. I consider it a must have for a photo manager now.
[+] conception|3 years ago|reply
Just an FYI for Apple folks that Apple photos had this as well on OSX and iOS.
[+] jacooper|3 years ago|reply
Nextcloud also proved their photo app, now with ML tagging and face and object detection.
[+] ochrist|3 years ago|reply
I use Lychee currently for my photo sharing, but have just installed Nextcloud and will certainly test this out. There are a few things I miss in Lychee such as commenting and statistics, but I don't know if Nextcloud will make this easier.
[+] beauHD|3 years ago|reply
Ente[0] is similar. Haven't tried it but looks promising. There's also Pixelfed[1] which isn't as private but great if you don't want to join the Instagram brigade.

[0] https://ente.io/

[1] https://pixelfed.org/

[+] colordrops|3 years ago|reply
Been putting together a spreadsheet of self-hosted file apps and trying them out. Still haven't found something that meets all my requirements. Does anything exist with:

* Automatic album generation based on detection of an "event", e.g. a cluster of photos taken together around the same time, organizing them in a folder, even better using an optional album title, e.g. 2022-06-24 - Picnic at the Park

* Modern UX

* Mobile support

* If no sync support, at least the detection of new files in a folder, say from syncthing

These are the core features IMHO, and everything else is icing. I'm basically looking for something that can replace Google Photos in a reasonable way.

[+] Yacoby|3 years ago|reply
Immich (https://www.immich.app/) is still under heavy development, but looks like it will hit most of those requirements (but not automatic album generation).
[+] Telemakhos|3 years ago|reply
I'd been using Chevereto and look forward to trying Lychee, but I'm also open to other suggestions if you have any.
[+] gchaincl|3 years ago|reply
try photoprism
[+] jimmcslim|3 years ago|reply
Is there any online tool where I can upload a photo that doesn't contain GPS data in the EXIF metadata, but gives me an estimate of the location that the photo was taken from - e.g. not just identifying the Eiffel Tower but also whereabouts I was standing when I took it. I'd love to be able to enrich my older photos with reasonably accurate GPS location - or at least a '95% chance that the photo was taken within 500m of this point'.
[+] gsich|3 years ago|reply
If you have Google Spying active you could get your location (or the location of your smartphone) at that time.

I'd also be interested in such a service. Sounds hard tough if you don't have lots of pictures to correlate to.

[+] _visgean|3 years ago|reply
there is this: https://twitter.com/whereml. Another option is to use something like GPT which might have sufficient understanding of some of the objects... But I think unless you have some very memorable objects like eiffel tower or big ben it will be very rough.. E.g. a picture of a beach will be impossible yet this system might put it somewhere... So I would be a bit worried about trying to automate it..
[+] Fiahil|3 years ago|reply
if the authors are around, here is a couple of things to improve on the « done right » part :

- loading thumbnails should be near instantaneous for the whole album. If it is taking longer, then let me downscale further.

- loading full-scale, several megabytes, photos must continue in the background. otherwise I’ll be waiting on a black screen for several seconds during a slideshow. It’s something dumb to do, but somehow Plex can’t seem to handle that properly…

[+] kkfx|3 years ago|reply
I still fail to understand why instead of try building networked apps, like Plan 9 have started showing in the past, we keep going adding web-apps for anything reducing powerful desktops to mere dumb terminal and impose a central point of failure even at home.

Oh, sure, it's easier but going that route means end up in the mess we all know of modern "devops and alike" no one can really know nor manage.

[+] karencarits|3 years ago|reply
In this specific case, web apps may be very suited as I guess a major usecase is sharing images with other people, and just sharing a link is much easier than having them (say a grandparent with limited technical skills or a one off share with a friend of a friend) installing an application which may not even exist for their device
[+] amelius|3 years ago|reply
Dumb terminal you say? These days webbrowsers are insanely complicated pieces of software. Servers are much "dumber", especially the ones hosting just photos at home.
[+] SlavikCA|3 years ago|reply
After trying few alternatives, I'm using https://github.com/bpatrik/pigallery2

- extremely fast. I'm using it with my 70 000+ photos. Scanning is ~10x faster, then with PhotoPrism, and it works even without scanning.

- It just works off file system. DB used only for cache.

- it uses file folders structure - no timeline

[+] rpigab|3 years ago|reply
I like Piwigo for now, didn't put lots of pictures but it's easy to set up, sync files, access management, etc.
[+] mikecoles|3 years ago|reply
Piwigo is what I have been coming back to after trying others out on occasion.