[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)