[HN Gopher] Lychee - Self-hosted photo-management done right
___________________________________________________________________
Lychee - Self-hosted photo-management done right
Author : shrx
Score : 160 points
Date : 2022-10-01 13:00 UTC (10 hours ago)
(HTM) web link (lycheeorg.github.io)
(TXT) w3m dump (lycheeorg.github.io)
| jokethrowaway wrote:
| This looks nice and it's definitely needed.
|
| Nextcloud is nowhere close to what we need and librecloud seems
| to lack performance (maybe because of the frontend architecture?)
|
| I'm currently on librecloud (after a migration from google
| photos) but I'm half thinking of building my own with an eye to
| performance
| shrx wrote:
| 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.
| usrme wrote:
| I haven't (yet) used this myself, but it seems Lychee is also
| available as an application[1] that can be installed for those
| using YunoHost[2]. This should make trying this out even simpler.
|
| ---
|
| [1]: https://yunohost.org/en/app_lychee
|
| [2]: https://yunohost.org/en/whatsyunohost
| redkoala wrote:
| Can someone suggest workflows / products to sync / delete photos
| off multiple iPhones within the same family to the cloud?
| ur-whale wrote:
| Is face recog built-in and does it work as well as Google Photo's
| built-in face recog?
| kkfx wrote:
| 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.
| amelius wrote:
| 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.
| karencarits wrote:
| 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
| SPBS wrote:
| The UI from the screenshots look slick, but I can't help but
| notice that there is barely any JavaScript listed in the repo. Is
| this a primarily server-side rendered UI?
| hanniabu wrote:
| New developers may not believe this, but javascript isn't
| needed for a UI
| beauHD wrote:
| 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/
| ptbkoo wrote:
| Looking to move away from google photos but hard to find anything
| close to the features that google photos provide. Closest thing
| has been synology photos.
| ggm wrote:
| 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 wrote:
| 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...
| ochrist wrote:
| 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.
| stackedinserter wrote:
| > 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 wrote:
| 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).
| huimang wrote:
| Personally, with things as serious as photo libraries,
| proprietary software is a no-go for me. I'd rather use
| something with community support like Lychee than pray that
| e.g. photostructure will be available years later.
| LeoPanthera wrote:
| 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.
| Chico75 wrote:
| Google photos but self-hosted?
| LeoPanthera wrote:
| Yes please.
| halfdan wrote:
| I'm pretty happy with Synology Photos on my NAS. It's got
| face detection, interprets the exif and gives you geo
| maps, has albums and sharing. Got it set up for my entire
| family.
| [deleted]
| jszymborski wrote:
| Photoprism sorta bills itself this way. I've found the AI
| features surprisingly useful, as well as the geotagging.
| capableweb wrote:
| I'm also looking for "Google Photos but self-hosted" with
| the main feature being automatic object detection.
|
| I just tried the Photoprism demo
| (https://demo.photoprism.app/browse), searched for
| "person", "grass", "wave", "head", "eye", "neon" and a
| bunch of other terms, nothing seemed to find any pictures
| although I took the concepts from existing photos I
| found.
|
| Back button is also broken on the demo, which makes it
| seem like the most basic UX is not there yet in the
| application.
|
| The quest continues...
| LeoPanthera wrote:
| Photoprism advertises itself as only having facial
| recognition, is that not correct?
| jszymborski wrote:
| It recognises objects in the photo as well. Here are some
| random labels from my library:
|
| - Altar
|
| - Bookcase
|
| - Festival
|
| - Keyboard
|
| - Streetcar
|
| Some are very wrong (A photo of a lake as "gallery"),
| some are wrong but tricky (red geode with white veins as
| "meat") and most are spot on.
|
| Edit: In fact, I'm not sure that I have the facial
| recognition configured... perhaps its in a newer release
| bleomycin wrote:
| immich isn't quite there yet but it's trajectory looks pretty
| good to fill this role https://www.immich.app
| PenguinCoder wrote:
| This is on my list to keep an eye on. I like that it's just a
| simple front end and not trying to be everything like Photo
| prism. I use Photo prism but I don't like how heavy it is. I
| want to use something like immich but it's not quite ready
| for production usage for me.
| ongy wrote:
| 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.
| alias_neo wrote:
| I've tried most of these tools at home and I tried to get on
| with Photoprism, but once I got to the point where I'd
| increased the VM RAM size all the way to 32GB and it was
| still eating it all, I gave up; the experience wasnt quite
| right particularly for multi-user; what's the use in a family
| photo library if my wife can't access it too?
|
| Right now I'm working on a desktop tool (Linux-first because
| that's what I run) to take a bunch of folders as input, find
| duplicates and let you clean up the duplicates or "merge to
| destination" because this has been one thing I've struggled
| to find something nice to use for.
|
| It's early days and I'm only so far at the point of hashing
| images and detecting and counting duplicates, but as an
| experienced backend software engineer the UI tools are a real
| learning curve.
|
| I'm also trying to make the UX clean and simple with next to
| no UX nouse.
|
| I'm using Wails + Svelte; I've not worked with Node, Svelte
| or Wails before so I may or may not end up switching techs
| but the backend is in Go.
|
| It's not one of these photo gallery/management tools but I've
| been finding that really, all I honestly need for my family
| photos that are reaching terabytes in size is: that I'm not
| waating space and I have a good archive of everything in one
| place.
|
| I'm curious if this is a tool others might be interested in.
| ongy wrote:
| Not sure about the memory requirements. My container
| currenty uses 128MB RES memory. But I also only have a
| couple thousand images. Not sure how strictly in memory
| some DB/structures are. I assume importing an existing
| library takes a lot, as it does the inference/training for
| face detection and auto-tagging. I've seen that it uses a
| lot of CPU at least, haven't looked into the memory.
|
| Multi-user is lacking to missing. I'm not 100% sure which
| state photoprism is in, as I was shopping for a self host
| service. OTOH I don't care about that for family. I'm not
| hosting anything for untrusted people, or to default backup
| everything, but as common library. So I'm fine if everyone
| sees everything and expect people to play nice.
|
| But I do agree that multi user (and maybe integrated auto-
| sync for phones) are major missing features. I'm just in
| the situation that it doesn't really matter to me
| currently.
| alias_neo wrote:
| That's fair enough. Same situation for me really I don't
| need the auth functionality.
|
| The way I had Photoprism set up is that mine and my
| wife's phones would sync images nightly to the server,
| the photos would be rsyncd from the public facing sync
| server to an internal one (not in the DMZ) then I'd have
| the server send me a link to the import page on
| Photoprism because it lacks the feature to autosync when
| new files are added; I think having to open the page
| while on LAN (link was internal only) and click a button
| was the straw that broke the camels back here for me.
|
| I think I also had something like 10-12 cores dedicated
| to it, which alongside the RAM use that constantly crept
| up, and the manual intervention, was just too much for a
| photo management tool that wasn't really even managing
| the photos in a way that was useful to us.
| heliostatic wrote:
| Are you planning to make it available in some form?
| alias_neo wrote:
| It'll be open source for sure.
|
| I had considered selling it for a nominal fee too but
| that comes with additional commitments from me, that I'm
| not sure I want to take on.
|
| Maybe I'll just add Github Sponsors, KoFi or such and see
| if there's interest, when it's ready and released.
| hackish wrote:
| I haven't tried PhotoPrism, but I'll give it a whirl. In my
| case, I'm looking for the best way to enable multiple family
| members to upload, tag, and effectively browse tens of
| thousands of photographs as we all continue digitizing family
| albums.
|
| I'm currently using HomeGallery[0] behind Authelia[1] for
| authentication to view so many images effectively. For
| uploading, I'd been using Nextcloud, but it began to lag
| noticeably after a few thousand photos. I switched to
| FileRun[2] with symlink'd photo directories and a user for
| each family.
|
| With HomeGallery, I get the desired performance on mobile
| devices with de-duplication and tagging. My instance detects
| objects fine, but I owe it troubleshooting time to figure out
| face recognition. The "similar images" feature can be fun
| with so many photos. A nice tagging modal on keybind per
| image would be a nice-to-have.
|
| Using FileRun for uploads works fine, but I also needed a
| continuous cron job for docker exec to generate any missing
| thumbnails.
|
| [0] https://github.com/xemle/home-gallery (or https://home-
| gallery.org/)
|
| [1] https://github.com/authelia/authelia (or
| https://www.authelia.com/)
|
| [2] https://filerun.com/
| 369548684892826 wrote:
| photoprism is pretty good. Open source, face recognition, and
| automatic classification of pictures based on their content and
| location.
|
| https://photoprism.app/
| Xeoncross wrote:
| 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 wrote:
| 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.
| nine_k wrote:
| The bigger a backend system, the more you crave for static
| guarantees like a type system.
|
| I think that such tools are mostly successful as _products_ ,
| not as code bases. So the successful ones are likely designed
| and implemented by competent photograpers with some
| programming chops, who naturally pick languages with very low
| barrier of entry.
| jokethrowaway wrote:
| The barrier to entry is way lower, way more developers will
| only learn scripting languages in their careers. A greater
| percentage of the projects who can succeed as a product will
| be using scripting languages.
|
| Especially considering performance is often not crucial, as
| long as it's fast enough: worst case scenario, you just throw
| more servers at it.
|
| The cost of hosting is often a small part of your budget
| compared to developers time (unless you're using AWS or
| developers from third world countries).
| colordrops wrote:
| 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.
| gchaincl wrote:
| try photoprism
| colordrops wrote:
| Thanks, will check it out.
| Yacoby wrote:
| 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).
| colordrops wrote:
| I hadn't heard of this, thanks.
| LinuxBender wrote:
| 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.
| m463 wrote:
| I'm uncertain, but would git clone --depth=1 mitigate this?
| khimaros wrote:
| PhotoPrism is another option in this space which includes some
| automated ML tagging of images.
| jhauris wrote:
| 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
| mimsee wrote:
| > For others who are looking for possible deal breakers: It's
| AGPL
|
| What makes AGPL a deal breaker for self-hosting one's photos?
| kybernetyk wrote:
| You can't build a hip start up around it and get millions
| of VC money. Because of the APGL you'd have to open source
| your service. Something the typical unicorn startup isn't
| too keen on. Taking community software: yes. Building a for
| profit product around it: yes. Giving back to the
| community: lol no.
| jhauris wrote:
| I agree, for me for this kind of thing it isn't a deal
| breaker. But for many people it may be.
|
| However, I will say that combined with the freemium model
| it does give me pause. The reason is I will likely want to
| add some features that will conflict with the premium
| version. That means that my changes have near zero chance
| of getting incorporated into the community version and I'll
| have to maintain a public fork.
| jeltz wrote:
| Yeah, I personally dislike AGPL but even I do not see any
| practical issues with it for this use.
| colordrops wrote:
| Ugh, not a fan of open source projects like these with a
| freemium model. The company behind it eventually fails, then
| starts pulling shenanigans or at best stops supporting the
| open source version. For example, Netgate and PFSense.
| candiddevmike wrote:
| Photoprism doesn't support multiple accounts yet, which may be
| a deal breaker for some.
| rabbitofdeath wrote:
| 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.
| sorenjan wrote:
| 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 wrote:
| Just an FYI for Apple folks that Apple photos had this as well
| on OSX and iOS.
| jacooper wrote:
| Nextcloud also proved their photo app, now with ML tagging and
| face and object detection.
| Fiahil wrote:
| 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...
| superkuh wrote:
| The best way to self-host and manage photos is to put them in a
| directory on your filesystem and then look at them with your eyes
| using your operating system file manager. Trying to implement
| this functionality, again, in the browser is just absurd.
|
| The best way for other people to look at them is via a static
| webserver serving static html files generated by some photo
| gallery tool like jigl. It has no active components to fail or
| get exploited in the future.
| zepolen wrote:
| No. Using a file system to look at photos is absurd.
|
| Searching photos using text, handling live images, displaying
| on a map by gps coords, categorizing people/places/albums
| automatically.
|
| None of this is handled by a filesystem or jigl.
| em-bee wrote:
| i use kphotoalbum to manage photos. mainly because it has a
| great tagging interface. what it doesn't have is good folder
| management. it will read images in whatever folder structure
| is there, but it is clunky when it comes to browsing photos
| with that folder structure. i can either navigate folders or
| i can see thumbnails sorted by time. i can't see thumbnails
| in the folder structure.
|
| to augment that i use a plain file browser. nemo in this case
| with the cover-thumbnailer extension works great. i could use
| another image manager, but then i'd be switching back and
| forth between different image managers to have the features i
| need. so why should i, when a plain file browser just works
| dsego wrote:
| I would love a photo managing tool that would allow me to
| import photos, do backup and auto-organize by some predefined
| rules (eg. folders by year, month etc), but also be able to use
| the current file structure (no proprietary library blobs like
| iphoto, with no way to export). It wouldn't let me delete
| photos by accident, or overwrite them, etc. There would be a
| clear distinction between source and destination when
| importing. I would be able to lock files for safe keeping. No
| stupid dialogs like "copying 9999 files, found one with the
| same name, skip/skip all". Instead it would have a "dry" run, a
| preview of the result, thumbnails etc. It would allow me to
| scan for duplicates or find similar images, detect anomalies
| and corrupt files.
|
| For previewing, it would find faces and locations, I would be
| able to group by date, location, etc. There would be a way to
| see the photos in a browser and share, but only see the photos,
| so kids can't accidentally delete theme (unlike Synology's crap
| software only made to tick boxes, boy was that a waste of
| money). And it needs a timeline view, like google photos, or
| what smartphones do.
| acidrainynb wrote:
| I have many qualms with iPhoto. It sucks.
|
| But this comment is so inaccurate I had to comment.
|
| iPhoto/Photos doesn't store your photos in a blob. They are
| exportable either via the stupid app or by the file system.
| The library is literally just a folder, and the images are
| stored by year month and day. It's not magic.
| dsego wrote:
| Fair enough, I might be misremembering then. It was ten
| years ago, sorry.
| sosborn wrote:
| It's one of those comments that was never true but has
| been repeated so much that people believe it.
| dsego wrote:
| Possible, I remember having to use some script to export
| all of my photos, not sure what the reason was. Perhaps I
| wanted to export by album, because I know a bunch of old
| photos from my olympus camera had incorrect timestamps.
| conception wrote:
| And it's all tied together with a sqllite db i believe as
| well.
| wtf77 wrote:
| I'm a ux designer, as well as a photographer and keen with
| data curation. I believe that currently there is nothing like
| this and in the past I tried to design my vision for this
| kind of product. I'd happy to design and build if someone
| with technical skills can help me with the tech stack.
| zepolen wrote:
| https://demo.photoprism.app/browse
|
| It doesn't "import", it uses the originals as is and
| indexes/stores metadata in sidecar files.
|
| You're welcome.
| viraptor wrote:
| > The best way for other people to look at them is via a static
| webserver
|
| For some use cases only. Most of my photos are not public and a
| large chunk of them is being shared with small groups of people
| only. I'm not going to risk public-but-hidden URLs just in case
| they'll get indexed by accident. A static site is not usable at
| all for me.
| superkuh wrote:
| HTTP basic authentication is very easy to set up and maintain
| (and keep secure) on pretty much every webserver ever made.
|
| A dynamic system PHP like Lychee is very hard to infeasible
| for an average non-technical user to keep maintained and
| secure. Even technical web developers have trouble keeping
| php projects secure over years. A static webserver with http
| basic auth is more secure now and incomparably more secure
| over 5-10 years. If you are worried about security then
| definitely do not give a third party PHP system access to
| your files.
| dewey wrote:
| That might be the "best way" for you, but not for everyone.
|
| Personally I have so many pictures that I really appreciate the
| "memories" that Apple Photos extracts and shows me from time to
| time. That would be very hard to implement yourself. It always
| picks good pictures and not random screenshots you have lying
| around or blurry pictures.
|
| A directy listning is definitly not a scalable solution if you
| are not looking to just go through all pictures of a specific
| date.
| vladstudio wrote:
| 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/
| breakds wrote:
| 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.
| brulard wrote:
| 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!
___________________________________________________________________
(page generated 2022-10-01 23:00 UTC)