18 ms·
Ask HN: Personal photo library recommendations? Open source, browser-based
I'd like to move away from Apples Photo.app to open-source, self-hosted, and browser-based application that may run on a NAS or Linux server.
There seem to be lots of alternatives out there (Nextcloud, Piwigo, ...) but I'd love to hear about recommendations and experiences.
- aosaigh 7y agoI’m looking for the exact same thing. Seems to be few and far between. I have a Synology which has two photo products but they can be a little clunky. The challenge seems to be a sensible way to add an import.
- cobbzilla 7y agorsync and then reindex worked well for me. But I’d agree that’s not really a sensible solution for non-technical users.
- fundamental 7y agoI tried out a few options a couple of years back and I've stuck with Piwigo since then. It seems to work well enough for my needs and the export functionality built into digikam seems to make it simple to sync up photos between my desktop and server.
- Maakuth 7y agoMe too. For me, it was important to be able to point it to my folders (well, symlinking to them) and 'syncing' so it read the metadata and generated the thumbnails without the need to upload them anywhere. Also the calendar view has proven useful. My collection of around 90k photos works well with it, even with my meek Atom-based home server. One feature I'm missing at the moment is raw conversion support. It would be great if thumbnails and previews of raw photos could be automatically generated. I've solved this via generating previews with ImageMagick, but native raw support in Piwigo would be better.
- demosthenex 7y agoI've been unable to find an open source multiuser local photo product. I'd love for my whole family to upload cell phone photos and SD cards to a central place we could share and tag from, without it belonging to Google.
- pnutjam 7y agoI run a small linux server that acts as a NAS. I rsync everyone's phones to a home directory, manually, and then pull that into a shared directory. I just went through and renamed all my pictures by the exif create date, adding any unique names to exif UserComment. I'm working on scripting all of this, but it works for me and I can pull data from anything into the directory. Everyone in the house can access it via samba and view the pictures.
- mceachen 7y agoThis is exactly how my family uses PhotoStructure: https://blog.photostructure.com/introducing-photostructure/ https://blog.photostructure.com/introducing-photostructure/
- canada_dry 7y agoI'd love to find one that incorporates the functionality that Picasa (windows desktop) circa 2000 i.e. face recognition/matching. It was way ahead of it's time, and actually worked! Best of all, it did everything locally... not cloud based and thus retained privacy of your personal photo collection.
- hazz99 7y agoGoogle Photos does some really handy stuff with facial recognition, which was super helpful when searching & collating photos. Doesn't help much for privacy, however.
- froindt 7y agoMy biggest complaint is how long it takes for facial recognition to occur. I like searching by name, and if I do a large upload, I might have to wait a couple weeks to get the groupings. I don't get a push notification, I have to go check and suddenly I have 100 faces to tag.
- alphabettsy 7y agoPrivacy is a major point of concern along with the fact that friends might use this service submitting photos of people who maybe don’t want this tech used on their likeness.
- dashundchen 7y agoDigikam has facial recognition and tagging using OpenCV. Can't speak to its accuracy though.
- canada_dry 7y agoThis looks promising! Thanks.
- bloopernova 7y agoPicasa was so useful, so of course Google had to kill it. It took multiple disparate photo directories and presented everything in a timeline of folders. And because everything was local, that happened quickly, rather than waiting for your browser to get the next 100 photo results from a javascript call or whatever. Are there any photo clients for windows that present multiple folders as a single coherent timeline? And can manage tens of thousands of pictures? I've got stuff going back to the late 1990s and would love to be able to find all those old cat pictures or whatever.
- demosthenex 7y agoI should explain what I've tried. Nextcloud photos is not a photo application. It's basically a shared gallery with thumbnails. There's no metadata support or editing. No true multiuser access other than granting sharing through Nextcloud like Dropbox. The only good part is you can autoupload from your phone. I've looked at several webapps, like Piwigo. Most of them feel like a single user application or have limited upload and metadata support. The closest I have found is Digikam using external SQL, but this requires a local application carefully configured with a DB and a fileshare.
- extra88 7y ago> I've looked at several webapps, like Piwigo. Most of them feel like a single user application or have limited upload and metadata support. Piwigo definitely supports having multiple users. What kind of metadata do you mean? It supports tagging and reads and displays EXIF data. It has extensions/plugins for adding capabilities.
- Odenwaelder 7y agoI've been looking for the same thing. An Apple Photo clone would be perfect, as I like this product very much, but I would like to have control over my photos.
- ImprovedSilence 7y agoYeah, I’m in the similar boat here too. I have an iPhone, and a Mac, but any interface between the two is needlessly completely busted unless you use iCloud. I want out of that game.
- andyjohnson0 7y agoI've been using Lychee [1] on a vps with good results. It looks pretty good, has multi-user capability, metadata editing, etc. It would be nice if it had some geotagging integration and ability to group albums into sets. I filed a bug report and the developers/maintainers fixed it very quickly. [1] https://github.com/LycheeOrg/Lychee https://github.com/LycheeOrg/Lychee
- dsd 7y agoI've been helping on the laravel v4 project. The devs are pretty friendly and I haven't found anything with a better UI than lychee. Three project doesn't do everything but what it does do, it does well.
- ChymeraXYZ 7y agoI haven't tested it but https://github.com/photoprism/photoprism https://github.com/photoprism/photoprism looks promising.
- qwerty456127 7y agoIs there one that can import Mac photo libraries an remove duplicate pictures by the way?
- deleted 7y ago[deleted]
- naikas 7y agoI am looking for this exact feature. Identifying duplicates from multiple back-ups. Is there a cool way?
- JustSomeNobody 7y agoExiftool allows you to handle dupes while organizing photos. http://owl.phy.queensu.ca/~phil/exiftool/ http://owl.phy.queensu.ca/~phil/exiftool/
- mttjj 7y agoI found this doing a quick internet search: https://itunes.apple.com/us/app/photos-duplicate-cleaner/id592704001 https://itunes.apple.com/us/app/photos-duplicate-cleaner/id5...
- preek 7y agoI successfully used fdupes and findimagedupes (both commandline tools) for that purpose. I moved my photos Mac library to shotwell (LINUX).
- mceachen 7y agoI had this same issue. PhotoStructure can read iPhoto libraries (and LR XMPs), and will coalesce both "sidecar" dupes (like JPG/RAW pairs), as well as images that were downsampled from other photo services (like Google Photos). It can leave your originals where they are, or copy them into a single time-stamped folder hierarchy (yes, you can edit the format of the timestamp if you don't like the LR standard). Files with the same SHA are not copied, but referenced in your library db. Your library's metadata is kept both on disk (in XMP sidecars) as well as a sqlite db for fast access, and you can run queries on the db to do anything more exotic.
- reacharavindh 7y agoOne more option... https://github.com/hooram/ownphotos https://github.com/hooram/ownphotos Have not had that weekend to try these options myself.
- pjc50 7y agoBonus question: I, like a lot of other people, did a full Flickr export due to the reduction in hosted pictures. I now have all the metadata - is there a way I could import or use this locally? (I did take a brief look at it, it's fairly normal json)
- uptown 7y agoCheck out Koken. Pair it with Lightroom for editing if desired. Self hosted and quite powerful. http://koken.me/ http://koken.me/
- icebraining 7y agoUnfortunately not under an open source license, and the license can be revoked or changed "at any time, for any reason, without notice." (EDIT: clarified that the issue is the license; the source is readable)
- uptown 7y agoSo basically it satisfies all of trbfred's specified requirements.
- deleted 7y ago[deleted]
- privong 7y agoI was excited about MediaGoblin[0] for a while, but it seems development has mostly stalled. The last release was in March 2016(!). Things were going smoothly until they seemingly started devoting their resources to implementing federated sharing instead of developing the core media hosting functionality. [0] https://mediagoblin.org/ https://mediagoblin.org/
- ebg13 7y agoThis is so sad to hear. I wonder how many total hours have been wasted and projects ruined chasing federation that nobody actually wants in the first place. :|
- kermitismyhero 7y agoMedia Goblin is one of those projects that I really WANT to like, but I can't. The project goals are admirable. And when it's up and running it's great. But it's incredibly finicky to maintain and it's quite challenging to install.
- privong 7y ago> The project goals are admirable. And when it's up and running it's great. But it's incredibly finicky to maintain and it's quite challenging to install. Agreed. I guess I could've been more specific in my original comment, easy of installation/maintenance are the things I wish they'd have worked on before worrying about federation. At this point I'm thinking about what will e the least painful way to migrate from mediagoblin to something else.
- damianmoore 7y agoShameless plug: I'm currently working on a solution called Photonix, though it's still very much pre-1.0 at the moment. https://photonix.org/ https://photonix.org/ Installation is fairly simple with Docker, frontend is web-based (React), backend is Python with a sprinkling of Tensorflow. So far auto-tagging of photos by location, object detection and colour is fairly decent. UI is progressing and is useable on most devices, though quite minimal. Please feel free to check out the demo site and the GitHub issues. I'd really appreciate feedback and help. Thanks.
- ConfusedDog 7y agoI really like it, though I'm not photographer, so I won't be able to speak for your main user base. One thing I would like is when I open a large image, it should give me a loading status. Instead, it just blacked out for a moment and image suddenly loaded.
- damianmoore 7y agoThanks for the feedback. I agree, there should some progress display while downloading. I'll be sure to make sure that's there. There are other optimisations I want to make in this area like selecting a resized version to download depending on the current screen dimensions and pixel density. This will improve loading times.
- zerkten 7y agoAs a developing photographer, having the biggest image isn't as important as having a large-ish image with additional metadata.
- damianmoore 7y agoAt the moment I create "thumbnails" at various sizes on discovery (4k, 2k, etc). Currently the 4k version is displayed but this will adapt and download the smaller versions on smaller devices. The UI for metadata is a bit unintuitive at the moment but you can scroll down to see it when you're viewing the fullscreen photos.
- jonahbenton 7y agoNot specifically for photos, but I have been a user of Perkeep, a long running project from one of the golang maintainers that focuses on long term storage of one's data: https://perkeep.org/doc/ https://perkeep.org/doc/
- zimpenfish 7y agoAlthough it's no longer actively maintained (IIRC) and some of the importers are currently broken for me (Mastodon importer can't talk to Pleroma, Pinboard has a JSON error, Twitter gives random "account not found", etc.) Which is a shame because I really like Perkeep/Camlistore as a concept.
- vorpalhex 7y agoCould you try to troubleshoot some of the issues and open PRs? It doesn't take an army to resuscitate a project... -- Edit -- Actually on checking, it doesn't seem like Perkeep is at all dead. I'm seeing several updates in the last month...
- zimpenfish 7y agoI was going off https://groups.google.com/forum/#!topic/perkeep/Kqvh2dJVmoo https://groups.google.com/forum/#!topic/perkeep/Kqvh2dJVmoo Which seems to me fairly definite about it no longer being actively maintained. There haven't been any updates to that posted on the @perkeeporg Twitter at least.
- vorpalhex 7y agoSounds just like their full time maintainers got busy. May well be able to find another one, or even have a few folks fill in. I'm actually going to check out perkeep when I get a chance and see if I can't help out some.
- flurdy 7y agoMany years ago I was dumping all my photos into Coppermine [1] It was/is very good. But patching it and PHP became a chore and I eventually migrated away to a messy matrix of Dropbox, Flickr, Google Photos and Apple Photo... I should look into consolidating them all. Always tempted to write my own, aimed at photo albums for non-photographers... but it will probably not move beyond a readme.md... [1] https://coppermine-gallery.net/ https://coppermine-gallery.net/
- walterbell 7y agoFor those willing to use local (non-browser) apps, Photosync (iOS, Android, Windows, macOS) will transfer photos between mobile/desktop/cloud and a private central NAS. From there, you can mount the NAS or sync folders to another mobile/desktop device, for use with local apps. https://www.photosync-app.com/home.html https://www.photosync-app.com/home.html
- yourfate 7y agoI use Lychee: https://lycheeorg.github.io/ https://lycheeorg.github.io/ easy to set up, looks decent, even shows exif data like exposure time, lens used etc.
- mitchtbaum 7y agoIf you don't end up finding what you want, then you could start with scoping out what you intend to find or create (..and post it somewhere find-able :) For example, I've gone back to Shantsel's UX research several times over the course of thinking through app designs, eg: * http://shnatsel.blogspot.com/2012/08/irc-client-new-tab-mockup.html http://shnatsel.blogspot.com/2012/08/irc-client-new-tab-mock... * http://shnatsel.blogspot.com/2012/03/true-app-center.html http://shnatsel.blogspot.com/2012/03/true-app-center.html
- davidbanham 7y agoI wrote Photobomb to solve this need for myself: https://github.com/davidbanham/photobomb https://github.com/davidbanham/photobomb
- decasteve 7y agoAny particular reason for the browser-based requirement? I’ve used Lightroom and CaptureOne to manage my photo library but ended up using digiKam in the end because I can just mount a volume and use it from any desktop.
- preek 7y agoI did exactly that a couple of months ago. After exporting my pictures, I ran fdupes to find duplicates and then imported all images into Shotwell. I can still take pics on the phone which will be synced via Dropbox and Shotwell picks them up immediately. The sync is faster than I’m used to on iCloud and finally I just have files that I can tag, again. Shotwell is also super fast, has a similar UI to photos.app (automatic events for example), but it also had hierarchical tags which it can even write to the files itself. So it’s very simple and yet portable without lock-in. Couldn’t be happier. Of course ymmv. Good luck!
- JustSomeNobody 7y agoI wish iOS photos app would allow me to sync to my server (SMB, sFTP, whatever). It is the only app allowed to sync in the background without using the location hack.
- SpyKiIIer 7y agoIs there any of these that can be pointed at a photo library on a NAS or harddrive, instead of having the application copy all the images into it's own location/database (which therefore required double the harddrive space)?
- jonathanp88 7y agoThe static gallery generator sigal(http://sigal.saimon.org http://sigal.saimon.org) supports this. You can configure it to include the original images in the file tree it builds, but instead of copying the images just make a symlink.
- silversconfused 7y agoI wrote a shell script to generate thumbnails (including gifs for video) and a page with the thumbnails, file size, and a link to the original. Something like that?
- machbio 7y agoDrawing Parallels - really would be happy if there was an application that could use Object storage as backend.. and could be hosted with AuthN and AuthZ
- fouc 7y agoI'm surprised none of the suggestions seem to have anything for user-inputted tags.
- sfifs 7y agoI created NasPics specifically for this reason. I wrote it in pure Go with no dependencies for ease of cross compilation since my NAS runs a weird old Debian based distribution of Linux on ARM. Running it is just cross compiling a binary, copying over and executing. For restart across boots, I just added a simple SystemD service file. https://github.com/srinathh/naspics https://github.com/srinathh/naspics (edit: some data destination paths are probably hard coded since I wrote it for myself but can be easily broken out into command line options if needed)
- hwj 7y agoI appreciate the "no dependencies" but it seems the client still needs NodeJS: > It is build on React using the Create React App tool, written in Javascript and requries a NodeJS development environment.
- asark 7y agoYou need node to "build" a React app, but not (generally) to serve it. Can typically just stick it on S3 or in an Apache htdocs directory or whatever. Unless your backend is Node and you're doing some server-side-rendering stuff.
- sfifs 7y agoIt's needed just to build the front end on dev machine. The front end HTML JS and resource files are embedded into the binary executable during compilation.. so i literally just copy over a binary
- howerkraft 7y agoDo you have a demo somewhere or some screenshots of the client?
- sfifs 7y agoYeah I should probably improve the README file. https://m.imgur.com/gallery/gNFw1PU https://m.imgur.com/gallery/gNFw1PU https://m.imgur.com/gallery/NzatdKZ https://m.imgur.com/gallery/NzatdKZ
- realcoopernurse 7y agoI really like thumbsup: https://thumbsup.github.io/ https://thumbsup.github.io/ It generates a static web site, creates thumbs, etc. I just run it on my laptop and rsync to my personal nginx server. You could probably host the output directly from S3 or similar.
- mceachen 7y agoPersonal plug: I'm working on PhotoStructure, after trying many, many open source photo projects (and being a committer for years of one of the most popular, "gallery.") PhotoStructure is browser-based (using Vue), and scales to hundreds of thousands of assets over millions of files. Your library can be created on a Mac, saved on your NAS, then later opened and managed by a Linux box, seamlessly. Raw images have highlight restoration before rendering previews. Videos are auto transcoded for mobile and desktop web use. Corrupt images are detected automatically and culled. Image source sets are used to minimize network data and maximize viewing quality. XMP sidecars are imported for metadata. Importing aggressively coalesces duplicate images and videos using direct and inferred metadata, so even your downsized Google photos takeout will be deduped with your originals. Once you've got a huge library, though, it needs a novel UX. Scroll-reverse-chron and a search bar shouldn't cut it. PhotoStructure has a couple novel and unique approaches to navigation, which you can read about here: https://blog.photostructure.com/introducing-photostructure/ https://blog.photostructure.com/introducing-photostructure/ It scales down to odroids, and up to as many CPUs as you can throw at it, and self-throttles CPU during library sync so the machine is still useable. Installation takes under a minute, and updates are automatic. It's closed-source because it's how I want to pay for my food and clothing, but it's a corporate mandate to open source in case of business closure, which is also explained in that blog post. I'm sending out another wave of beta testers later today, and during the beta it's free. I'm giving heavy discounts to my beta testers that share feedback. I'd love to hear what you think.
- meepl 7y agoawesome, just signed up for the beta
- jayniz 7y agoSigned up for the beta! I've been looking for something like this for my ~1TB photo database ranging back to 1999.
- xtracto 7y agoPersonally I don't like this response. The post specifically asks for Open Source software, and the top response is a closed-source service? I am not making any judgement on the service, just that it is not an appropriate reply for what is being asked here.
- Dnguyen 7y agoI used https://galleryserverpro.com/ https://galleryserverpro.com/ many years back. It was one of the better ones back then. I switched to Amazon Photo as I didn't want to deal with another server and backing up my precious family photos. Looks like it's open sourced now, which is even better, if you don't mind .Net and SQL Server.
- sirmac1k 7y agoWith online photo galleries either private or work related for many years I'm always relaying on piwigo. It's great, handy and easy to setup after the first try. We're hosting even big internal photo archives with upload via ftp, and piwigo does a great job at handling it.
- asark 7y agoDo any of these open-source solutions support Apple's Live Photos and videos alongside ordinary photos? I don't really want to have multiple applications for my family memories stuff. Just want to toss them in a directory and let on-photo/video-file metadata tags sort it out. Face auto-tagging and geo- and time-based grouping a must. Otherwise, can (ideally, would, in fact) just serve up dead-simple ugly HTML, if it's gonna be a web-tech thing, to minimize the developer workload if I have to take it over because the project dies.
- jmarxer4 7y agoTry digiKam. Its GPL-licensed and runs on GNU/Linux, Windows and Mac OSs. The developers are readily available via a mailing list and a new version just came out. I've used it for years and find is quite good. It is very full-featured though, so you might need to spend some time getting to know it.
- jpb0104 7y agoI haven't tried https://github.com/agile-leaf/50mm https://github.com/agile-leaf/50mm yet. But am curious about it and similar solutions.
- mnutt 7y agoI’ve been tinkering on something adjacent, to replace my Instagram usage rather than Photos.app. I was thinking of a sort of “album as a blog post” concept using Ghost, which could be a single image per entry, or a series of images with optional prose interspersed. The idea is to take an album and auto-generate a blog entry with inline photos that can be edited in Ghost. It can also pull out photo metadata and create a map, etc. Unfortunately Ghost isn’t as modular as I hoped so it is involving lots of edits to the source, and automatically extracting album metadata from Photos.app has also turned out to be difficult.
- mboperator 7y agoHey Mnutt, My passion project, Odyssey, accomplishes something similar to what you're describing here. With Odyssey, you can create stories that combine videos, photos, text, and drawings all on a digital canvas. If you're interested, I encourage you to sign up for the closed beta. I'd love to get your feedback :) https://theodyssey.app/ https://theodyssey.app/
- xingped 7y agoOut of all these tools posted here, are there any that provide a way for you to authorize friends to also upload photos to your library?
- silversconfused 7y agomediagoblin is multiuser
- yboris 7y agoShameless plug: if you are want a library for videos, I created an MIT open source Video Hub App - nearing version 2.0.0 https://github.com/whyboris/Video-Hub-App https://github.com/whyboris/Video-Hub-App Sorry unsure about good photo alternatives, but my first place to research is https://alternativeto.net https://alternativeto.net
- tenebrisalietum 7y agoTry Shimmie2. It works like the danbooru or ouroboros style imageboards. Requires LAMP stack and php-gd, and ffmpeg if you want video thumbnails. - Stores files by md5 hash and doesn't allow duplicates. - Database is used to store tags and support searching and is not very large. - Can tag pictures and search by tag. - Is fast. Can handle large number of images and large number of search results. - Can enable pools feature and arrange pictures in a pool. - Can enable wiki feature, which while primitive, is nice for adding notes. - Is multiuser.
- pR0Ps 7y agoSeems like a lot of people have their own solution, I'll add mine to the pile: https://github.com/pR0Ps/PhotoFloat https://github.com/pR0Ps/PhotoFloat Screenshot: https://i.imgur.com/F6w8Ixz.png https://i.imgur.com/F6w8Ixz.png (just took it now so I redacted some info) It consists of 2 parts: - a Python script to parse metadata from photos into json files and create thumbnails. - A JS-based frontend that consumes the json files and thumbnails to provide a UI. Features: - Can be hosted completely statically making it ideal for low-power servers - Serves up your photos in the same file structure as they are on the disk - Works with many types of photos, including most raw files - Parses and displays common EXIF data - Works well on slower connections (minimal HTML+CSS+JS, small thumbnails, placeholders, preloads images as you view, etc)