Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: What are some self-hosted photo organizing/sharing programs?
81 points by eeemmmooo on Aug 16, 2023 | hide | past | favorite | 65 comments
I’m looking for a good privacy focused photo hopefully self hosted programs to backup and share photos. With the way everyone is training AI on everything now, I don’t really trust google, apple, etc with my photos and videos. So what are some good options that I can put on my home server and self host to share and organize my families photos.

My wife would also be using it and she isn’t the most tech savvy. So something that is easy to use after initial setup would be ideal.

TIA




I use Synology Photos to back up to my Synology NAS in the basement:

https://www.synology.com/en-global/DSM70/SynologyPhotos

It has mobile apps that back up photos automatically. My wife and I each have the iOS apps running and photos just upload magically to the NAS. Viewing photos is a good experience too. I also use another Synology app to back up my photos from my NAS to AWS Glacier.

Super happy I moved them from Shutterfly.


+1 for Synology photos. I back up automatically to my NAS, and sharing is a breeze.

If you're going down the "self-hosted" path, Synology will be the answer a lot of the time. All your music and videos, etc. There's even a Google Docs-like office suite.

I'm have kiwix on mine via docker and have self-hosted Wikipedia.


What does self hosted Wikipedia achieve practically?


I created an intranet portal for the house with a kind of prepper Internet. Plenty of things to do but no connection required, which is nice. It contains wikipedia, and other good kiwix packages like project Gutenberg. Our media and stuff.

Raising a young child, my partner and I try to model minimal phone usage and low Internet usage. But when you gotta use the Internet, it's fun to open up the intranet and let the answers flow from there.


If private, a private familiar photo history would be great...

There was a company called ORIGAMI that launched into private claiming to solves such - and they got acisition-hired before they could even launch and then the entirety of the team evap'd

but we still need a solid solution in a PI powered black-box with "facebook in a box for a family" with a familial social calendar...

this is what Nextdoor attempted to do - but its run by sketchy people I would never trust - we need a solid little container on a Pi that allows for a NAS of pics and a calendar and an air-tag tied to all our shit so we have a home hub that with a single click shows all the things/folks attached and then a timeline of all the pics taken (I appied to YC to this FN 10 years ago)


You don't need any external accounts or services. You can turn on a dyndns service or a proxy service optionally, for convenience. You might need an account for those. You can and should wall the thing off.

What happens is, your photos only back up when you are at your house, or when you connect your phone to your VPN.


I misunderstood.

You were talking about sharing to external family, oops

It would be cool if we could do peer to peer federation.


The problem with centralizing everything like this is it becomes a honeypot and to make things worse it is expected to be run by the common non IT person who may not even recognize that they have been pwned. I admit it sounds like a dream, but realistically, I see how difficult it is to achieve.


Believe it or not, Plex. It's a truly mediocre photo organizer, with glaring missing features, but because I already have a Plex server - it's zero marginal work aside from just dropping the photos in a folder on the NAS running it.

I use FileBrowser to autosync the photos off my phone, and family can easily access them because they already know how to use Plex. The fact that there is a client for every device I have ever used is icing on the cake.

If you have a plex server, obviously a very big if, worth investigating just turning it on for a folder of files since it doesnt write to the images itself by default.


Seconding plex. I was able to share photos with family, even grandparents, by giving them access to our plex share.


I always thought Serviio was a much better option than Plex, and has the benefit of working much better with any DLNA client.


I thought they removed this functionality awhile ago. It appears I am mistaken.


They have made it clear it is not a focus, and killed features, but that all seemed in the interest of making it something that continued to function without much work on their end. Which seems fair enough.


A comprehensive list comparing features

https://github.com/meichthys/foss_photo_libraries

Personally I use Photoprism installed inside TrueNAS Scale. They don't have a good mobile app that syncs with the NAS. So might try Immich in future.


I have both configured. Photoprism doesn't have a native app but I would recommend using PhotoSync if you are on iOS. It works infinitely better than Immich's upload for camera rolls that have 50k+ photos/videos in them. It also works in the background much better than Immichs app.


+1 to PhotoSync.

Custom file naming is clutch.


Get the Monument device, attach as much external usb storage as you want and watch it do pretty much the same thing Apple Photos does but locally on the device. iOS and android apps. More than one user — my fam uses it. Plus you can backup the files to any SFTP storage. And the usb drives can mirror each other too. Highly recommend. https://www.getmonument.com/


Does the Monument device have the option to share albums/folders across the Internet? Do I need to open a hole in my firewall for this?

Edit: I've reached out to the Monument team as well.


Works really well with families - each person can have the app installed and it’ll bring all photos onto the device. Yes you can share photos and albums. Yes you need to make a firewall config, otherwise you’d be hosting elsewhere in the cloud. There’s no way around that.


Step 1: Install XAMPP by going to https://www.apachefriends.org/download.html -- Download option "8.2.4 / PHP 8.2.4" or highest current version for your operating system. -- Note the directory where the files were installed. -- Inside the directory, open the "htdocs" folder. -- Create a folder here called "images" or whatever you like. -- Copy your images to this folder. -- Launch XAMPP, if not already launched.

Step 2: Download this free image organizer from https://www.files.gallery -- When you click on download it will download a single file called "index.php".

Step 3: Copy the index.php file you just downloaded to the images folder you created. -- Navigate in your browser to http://localhost/images/index.php (or replace images with whatever you named the images folder)

ENJOY!


Don't recommend this. Bare metal install is very outdated nowadays. You surely want to use your server for multiple purposes down the line. You shouldn't install every app directly on your main OS - any misconfiguration or problem will bring down all other services, or make a machine-wide security issue. Also an attacker of one app will gain instant access to your whole server.

- Either use something simple and user friendly, like Synology with it's marketplace apps - Or use virtualisation host OS that allows you to install multiple containers/virtual machines, each for your own application, like Proxmox - Add containers via some container manager like Portainer or CapRover

Maybe these options seem like a bit more complicated first, but you will be very thankful for the invested time.


As a person who does sysadmin work as a day job, I can't disagree more. For something for a home server with very light load, VMs are extra heavy. For someone not knowing container networking and reverse proxies, things are complicated and more prone to misconfiguration.

Also, not all services are best suited for containers. JSWiki doesn't like to share the host, and wants its own subdomain. NextCloud from Container is a painful experience when it comes to add-ons from its built-in store. Installing it directly to OS is 1000x smoother.

The biggest exception is GitLab. When you install the OmniBus package, you can only use the server for GitLab, however, with that resource usage, you won't want to share it with another service, anyway.

When you give half the effort required to install a couple of services to bare metal, things work more efficiently, without any downtime, and any problems actually.

Any half-decent distro has the relevant packages in recent versions, good security support and constant updates. There's no reason to not install a Debian stable box with auto-updates enabled and servers downloaded from official repos.

I managed to run 5 services on an OrangePi Zero with 512MB RAM with no downtime and performance problems. It's possible and enjoyable.


I recently discovered Photostructure. After trying a few other alternatives, this is what I prefer now.

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


Neat! I'm the solo developer of PhotoStructure.

Know that there's a very active community of PhotoStructure users on Discord: https://photostructure.com/go/discord/ -- although I opened it as just another support channel, it's evolved to include discussions about future feature work, self-hosting, digital archival, privacy news, hardware, and photography, too.

I self-host https://forum.photostructure.com/ that uses Discourse, but it has 10-20x fewer posts on it than Discord.

OP: Make sure you get backups in place (and one offline) before trying any of the software suggested here--it reduces your risk from "oh-no-what-have-I-done" and "what-in-the-actual-heck-is-this-app-doing-and-where-did-all-my-files-go" to zero.


There is also Piwigo which is open-source and can be self hosted.

https://piwigo.org/


I have been hosting it locally for a couple of months now.

Stuff I like:

  - The mobile app is quite friendly
  - It supports "automatic upload" (after opening the app)
  - It supports deleting pictures from the device after uploading (to save space... much needed on the wife's old iphone)
  - The pictures are stored hierarchically on the filesystem
  - Very lightweight (the whole docker setup uses less than 128MB of RAM)
Stuff I'm not a fan of:

  - The web interface is "okay". It could use some modernizing.
  - When there's no more space on the device, the app fails to upload new pictures, but gives no error message.
All in all, Piwigo is a solid 7.5/10 for me, but I'm watching and testing some other active software such as https://immich.app/


I'm a fan, especially the virtual folders that can be based on tags, that I add with digikam.


Static or not? I like https://github.com/rtts/photog (static)


https://www.digikam.org/

digikam is a bit hard to grasp at the beginning. this video helps https://www.youtube.com/watch?v=GCKInEFF_AE (configure digikam > collections is where you want to be)


I'm a fan, makes it super easy to go on vacation with family, suck in all the photos from 5 cameras, and tag them all. It's particularly good at things like select 2 weeks of photos, tag them with the vacation location, then pick ranges to tag bears, rainbows, avalanches, people, flowers, waterfalls, etc.

Granted I suspect 90% of my tag usage is grand parents finding all the grand kid photos. It works really well with piwigo mentioned on another thread.


Fan, too. Had some stability problems two years ago, now it's smooth. Having access to quickly shown thumbnails is yes or now for actually accessing photos/images and enjoying watching them and working with them.

I didn't try option to write to metadata for compatibility.

Will have a look at piwigo.


I use DigiKam as well, under Windows 10. Recently the facial recognition has gotten better, and it's far less crashy than it used to be. I've got about 400,000 photos taking 650 Gigabytes.


I have 125k images and 57k photos totaling 280GB and it's smooth. I switched to desktop recently which definitely adds some points.


Have a look at this list:

- https://github.com/awesome-selfhosted/awesome-selfhosted#pho...

Personally I am looking into immich right now: https://immich.app


I use Photoprism. First I import to Digikam, process, then have Photoprism read all the files.


If you want something easy to deploy, zero maintenance (almost) and with a tiny footprint I can't recommend PiGallery [1] enough. Also good mobile support.

I tried some of the fancy alternatives here suggested, but they insist in doing it their way. PiGallery just displays your folder structure as Albums, simple as that, whereas others like Photoprism keep ruminating in the background doing their AI, which I personally don't need.

Pair that with a good backup strategy with e.g. restic and you're ready to fly.

[1] https://bpatrik.github.io/pigallery2/


I'll mention Owncloud Infinite Scale even though I couldn't get their docker container to work (something about not setting JWT something or other). It is a rewrite of Owncloud in Golang and is purportedly stable and fast.


Photoprism, Immich perhaps also nextcloud.


I had a similar issue and wanted a "Google Photos" like product. So a web-interface with a time-based list and an phone-application that automatically back-ups.

I'm currently using Synology Moments/Photos which comes for free with a Synology NAS.

I've recently been on a trip with random strangers sailing on a boat and I could easily request the others' photos, import them in an album and share it with the rest of the group.

I'm struggling to find a better alternative that is workable and is almost set-and-forget.


If you’re feeling adventurous you can run the synology dsm os in a vm (qemu/kvm in my case). You use tinycore[0] as a boot loader to bootstrap the official Synology image[1]

It can be a bit of a pain to setup but once it’s up and running you can run all synology apps, including photos and even their nvr software, backup your home pcs to it, etc. If you pass through pci sata controllers you can bypass any disk virtualization layer and let synology manage raw disks exactly like a metal install in one of their nas machines would do. You could even swap the disks into an official nas later on if you wanted. The synology apps are highly polished and worth the setup imo.

There’s also a docker image that makes it all trivial, but it’s too many layers of abstraction for my tastes[2]

0. https://github.com/pocopico/tinycore-redpill

1. https://www.wundertech.net/how-to-install-xpenology-on-proxm...

2. https://github.com/kroese/virtual-dsm


I've been trying to find a tool that would could do the following steps:

  1. Find all the photos (and ideally videos) in multiple, nested directories.
  2. Copy the found files over to a single new directory, ignoring any duplicates.
  3. Rename the photos in a standard way, ideally using the creation time.
One tool that was recommended was PhotoStructure, but I wasn't able to make it do what I wanted. :/

Does anyone have any recommendations?


Howdy! I'm the author of PhotoStructure.

PhotoStructure does exactly what you're asking: https://photostructure.com/getting-started/automatic-library...

Note that this is a paid feature, but I give free trials (without giving a credit card!), and discounts to a ton of people--including equalization for living in a country with less buying power, open source developers, and "making the world a better place." Details are here: https://photostructure.com/about/pricing/

If you can't make it work for your situation, please post to the support forum https://forum.photostructure.com/ or hop into the discord channel https://photostructure.com/go/discord : we'll try our best to get you set up.


I wrote a small tool to serve shotwell photo/video collections online directly from a copy of the shotwell photo folders and its sqlite database,

https://github.com/kpeeters/shotweb/

It allows me to stick to shotwell for the actual collection management, while still letting me share events or the entire collection to friends and family.


I use chevereto because it lets me store my images on Minio / S3-compatible storage layers. The problem with most of the tools I've seen is they assume they have a directory of photos. My setup is complicated though and the machines that run my containers don't have a whole lot of disk space.

UI is good. Sharing is good. no real problems.


Immich is quite good but in its infancy - I paused my containers, filed a bug report on the discord, and set a reminder for September because the iOS app kept crashing while uploading.

If they keep focused on it - should definitely be a top contender

I did not like Nextcloud but have not tried the rewrite in Go


Owncloud Infinite Scale is a rewrite of Owncloud which NextCloud forked from.


Photoprism is great, but Nextcloud's "memories" app is even a step better, especially if you already have a Nextcloud install. Definitely pair with their "recognize" app, which does the AI tagging and face recognition thing for you on any hardware.


I'm in the exact same situation, actually posted an ask HN yesterday: https://news.ycombinator.com/item?id=37133408

I'll be interested to see what else turns up here.


Can anyone recommend one that would work over a local WIFI network without internet access?


Any of these. You can access your server locally via its IP address (disclaimer: some might require additional configuration as they require a pre-set hostname)


Really surprised by all of the support for Synology Photos. I love it for a lot of things but this was totally unreliable for me. Must be some sort of config issue on my end.


I keep it simple: Directory on a Linux-based NAS for storage, NFS for sharing (SMB if your wife uses Windows). Free, easy to set up and use, comes with the distribution, will run forever with no maintenance once set up.


I like Sigal. Havent seen it mentioned here yet. Does no one use Sigal??

http://sigal.saimon.org/en/latest/


Digikam for photo management. Sigal gallery for photo sharing. Cron job to generate sigal daily.

Backup is I have my photos is svn and back that up via restic.


I am looking for something a little more specific to make a gallery out of screen shots with OCR and combining the dates and metatada with any text extract.

Photoprism looks close but no OCR.


Not an answer to your question and not trying to be, but iCloud Photos is E2E encrypted if you enable Advanced Data Protection in iCloud settings.


Is something like Pixelfed an option?

https://pixelfed.org


Backup/sync and also share - Nextcloud

Google Photos replacement - Immich

Just share some gallery that you have on a NAS with friends - PiGallery


I use eagle.cool and sync the lib with rsync.


Install nginx. Put the photos in folders in your ~/www dir. Enable indexing. It's incredibly secure and has pretty much zero maintainence. Just link people to the http://yourIPhere/photos/ dir.

It will be very easy for the wife to use since all she has to do is put the photo files in folders using the normal operating system GUI. This is something everyone knows how to do.


That's not really "photo organizing / sharing", that's just a directory listing.

What you want from a photo specific software is things like thumbnails, exif info, powerful search, maybe indexing the content of the pictures (Searching for "dog") etc.


Ah, in that case after the wife has looked at photos, named their file names accordingly and put them in the dir she can run http://xome.net/projects/jigl/ or any other .html photo gallery generator. It'll show thumbnails, exif info, and she can press ctrl-f to search in the browser.

I guess you want the gallery generation to be automagic though. Might be some work but you could whip up a cron shell script to see if any sub-dir in ~/www/photos/ has files and doesn't have an index.html and have it autogenerate them.

As I write this I do realize it's starting to get pretty complex. Almost like you'd wish for an all-in-one solution like you'd asked. But I still think this method would be better long term though.


I feel like this is the kind of thing where an amalgation of Linux tools hacked together and based on this would offer a significantly better solution than most self-hosted media serving software I've seen.


If I'd have to choose I'd take a kinda-good off the shelf solution over a "Linux tools hacked together" solution any day.

Especially because I don't want to maintain something important like a photo collection forever. Having other people in the family being able to use it by just installing some mobile app off the app store is also a big plus.


Of course, so would I. But I haven't found any kinda-good off the shelf solution. They're all sorta bad in their own way. Plex and Jellyfin constantly frustrate me with the bizarre unfixable issues I encounter.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: