Why does NAS photo management still feel so DIY?

Storage is usually the easy part of setting up a NAS. Photos are where things start getting messy.
Getting files onto the NAS is simple enough, but once you want phone backup, decent browsing, albums, face grouping, and duplicate cleanup, it quickly turns into another project.
Containers and separate apps can solve it, but then there is another stack to configure and keep running. That has always been the annoying part for me.
I’ve been trying FygoOS lately, and it treats the photo side as part of the NAS setup instead of something I have to add separately. For a home setup, that is a lot more convenient.
I’m mainly interested in keeping family photos backed up and easy to browse later. I don’t need a big media server with every possible feature.
What are people using for photos on a home NAS? Is there a good all-in-one option, or do most people still run a separate photo app?

Speaking for myself I use Photoprism running as a docker container and it works great for my needs. It has a lot of the features you mentioned like face tagging but most of them I have turned off. However I have not full divested from google photos so don’t need a sync feature or anything like what can be found in Immich or other self hosted apps. I have 70k+ photos going back at least 3 generations so am more concerned about preserving the overall structure than adding new photos. I do photography as a hobby so have my own workflow I don’t want anything to mess with. That said this is most certainly not an all in one option.

I get what you mean… It is just a lot easier to have things running on your own servers than also having to deal with the clientside applications like on your phone :persevering_face:

Personally I went the easy way by having my Synology NAS run this part. Setting that up and using the phone apps for sync/back-up is so easy. It has kept me from finding an alternative to run on the home server instead.
This easily keeps track of our 113k-ish photos and makes them easily accessible on a phone or other devices.

If I had to handle it myself, I’d probably look at Ente or Immich. I think that I’d try Ente first, as I already use their 2FA application and I like how simple they design their UIs.

I just have a basic NAS functionality. A ZFS pool (albeit a pretty badass one) with shared folders over a combination of NFS and Samba.

As for photos, I back my phone up to the NAS every 15 minutes using an app named “FolderSync” on Android. From what I can tell it is both reliable and not creepy-spy-like.

The last part, grouping photos by faces, and the ability to search them using text for what is in them, I am still working on.

I was planning on creating (well, having AI create for me) a python script which scans my photos folder for new images every night, submitting them one by one to my vision capable local AI model and having it generate descriptions and tag faces (though I am not sure if it can do that well) and drop that text into a searchable database, and I started generating the code, but ran into difficulties getting it to run.

I’m pretty sure I would have eventually gotten there, but I ran out of time. This inspired me to research how to set up a test environment the AI model can access directly in order to run and troubleshoot the code so it can do that independently rather than me copying, pasting and executing it, but I got stuck and ran out of time.

I’m pretty sure I’ll get back to this at some point. Or maybe not, because there are options out there that can do this sort of thing. I just thought it would be a cool little application of my local models and wanted to give it a shot.

I get around this by browsing and managing my photos on my client devices, syncing the library among them with Resilio Sync (you can also use Syncthing), and then doing 3-2-1 backup.

On desktop I use digiKam which is absolutely fantastic. You can also use Lap, which is the most flexible photo + video library manager I know of, for that. On One UI I use the Gallery 1st party app as well as F-Stop and EZ Gallery.

For my backlog of photos I have thought about using the FOSS desktop program Digikam to auto-tag. The face and the other 1000 objects it can recognise gets recorded in the picture metadata. Hence any other program should also be able to use the tags.

For ongoing phone photos I use iCloud. For any photo taken with a real camera I upload them to my own Immich server. One solution to do all is not something I thing is practical in the long run. I do not want my “real photos” in the same place as anything from my phone that is mostly photos of bolts, wires or tape measures.

Whatever app you land on, I’d keep the photos themselves as plain folders on the pool and treat the app as a viewer you can swap out later. That way an all-in-one that gets abandoned, or a duplicate cleanup that goes wrong, doesn’t take the library with it. I run ZFS with sanoid snapshots every 15 minutes, and that’s what makes me comfortable letting any app touch the files at all, because a bad reorganize is just a rollback.

I think part of the DIY is because almost all photos are taken on an Android or iOS device.

They want you to use their clouds. It’s where the recurring revenue is at. So they wrote the software with that as the easy path.

@KittyNour has some elaborate immich setup that seems kinda nice for image management?

I completely agree with this approach. Keeping proper backups is especially important before allowing any software to reorganize or clean up a photo library. I have recently been trying FygoOS, which handles phone backup, photo browsing, albums, and basic organization without requiring an additional Docker stack. That is a really nice convenience.

That sounds like a very practical setup, especially with around 113k photos. Having the NAS handle phone backups and syncing must be very convenient. I use FygoOS for a similar purpose. I mainly use it to back up phone photos and browse our family photo library. My experience has been good so far, and I also like having these features in one place instead of having to manage several separate services.

We’ve been running Nextcloud with the Memories App for years to have a central place for both phone and “proper” photography. Works great for geo-tagging, simple edits, sharing, viewing images, etc.

The storage is on our NAS, mounted via NFS (Nextcloud’s external storage integration is quite good) but since the thumbails are saved on flash on the hypervisor browsing our extensive library feels great.

1 Like

My 2 cents- Is Immich is working incredibly well for me- but I don’t use my NAS. I point to the NAS filesystem from a dedicated device- and I have dual Intel GPU’s (B50 and A310) handling all of the fun machine learning add-ons.

I’ve never found the “running all my services from a storage server” approach to be worth it. I want my storage server to be the pinnacle of stability and function, my ‘services’ server can be a little more experimental and my sandbox server can be downright crazy. So a TrueNAS storage server that only has to manage ZFS and snapshots etc. Then a services server can run whatever (I use Ubuntu because of the Intel Arc Support)

2 Likes

It is! The only added complexity for my setup is that I have a Wireguard VPN running on my router for remote access. I could use the cloud connection through Synology services, but I’d rather just handle it myself.
And in our case, both my spouse and I love photography so it is from a couple generations of cameras and quick shots of our cat :sweat_smile:

That is exactly why I run file sharing services on the NAS! I want those things to just run without me having to fiddle with them after setup. At least in a more stable way than I have my services machine running :sweat_smile:

I’ve got a NUC on the network with run Jellyfin, a Minecraft server and whatever I want to play with… While I like to have that stable, it is also my play machine. Whenever I fuck things up, I need some time to sort out and get it all up and running again.
So to keep things running with file synchonisation/back-up, I use the NAS. That way I can play around without me (or my spouse) having issues.