this post was submitted on 15 Mar 2024
92 points (95.1% liked)

Selfhosted

40313 readers
185 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

I have spent quite a lot of time trying to find the best photo management solution for my use case, and i think i have finally got a solution in mind. Please follow me and help me understanding what could be improved.

The use case: I took, over the decades, thousand of pictures with manual, film based SLR, digital DSLR and many other devices. Today i mostly only take pictures with my phone and occasionally (like 1-5 rolls per year) B/W film photos. I like to have all the pictures neatly organized per album. Albums are events, trips, occasion or just a collection of photos for any good reason together. I have always organized albums my folders and stored metadata either in the photo or in sidecar files. Over the decades i changed many management tools (the longest has been Digikam) but they all faded away for one reason or the other. I do not want to change organization since it proved solid over decades. I do not trust putting all eggs in a database or a proprietary tool format.

The needs: backup photos from family phones. Organize photos in albums (format as stated above), share & show pictures with family (maybe broader public too), archive for long term availability. Possibly small edits like rotation. Face recognition is a good plus, geographical mapping and reverse geotagging is a great plus. General object recognition could be useful but not a noticeable plus. Also i need multi-user support for family members both on backup and gallery-like browsing. My galleries need to be all shared (or better one big gallery, plus individual backups for users)

What i don't need: complex editing / elaboration (would be done offline with darktable)

Non-negotiable needs: storing photos in album-based subfolders structure with all metadata inside photos or sidecar files. No other solution will ever stand the test of time.

I tried many tools and none fits the bill. Here are my experiences:

  • Immich: by far the most polished, great for phone backup&sync, not good for album organization (photos cannot be sorted into folders, albums are logical only). Has the best face detection and reverse geocoding.
  • Photoprism: given up because i don't like open-source with money tags (devs have all the rights to ask for money, but i distrust a model where they might give up support unless they make money)
  • Librephoto: feels abandoned and UI & Face detection is subpar with immich
  • PiGallery2: blazing fast and great UI, but cannot be used for backups nor organization. But can cope well with my long lasting collections of photos.
  • Piwigo: i used this decades ago. By today standards feels ugly bloated and slow as hell. No benefits anyway for my use case that compensate slugginesh. And my server is powerfull.
  • Damselfly: great tool and super friendly dev, unfortunately i could not fit into my use case. It can work on folders, but it's actions are too limited and beside downloads and exports and tagging... not much else. Not even backups from phone. I understand it's use case is totally different from mine. Still a great piece of software.

My solution: more of the idea of how i want to proceed from here on...

Backup: keep the great Immich for phone backups. Limitations: requiring emails as user logins breaks my home server authentication scheme but i can live with it. The impossibility to organize photos in folders is a deal breaker but luckily, you can define "logical" albums and download them.

Organization: good old filesystem stuff, i don't need any specific tools. Existing photos are already sorted in subfolders, new albums can be created from Immich, downloaded, and stored on new subfolders on the server. Non-phone albums (DSLR, film cameras...) can just be added as well directly on filesystem

Viewing: PiGallery2 pointed at the subfolders, blazing fast viewing online for all family members.

Global workflow: take photos from phones, upload automatically to immich, then manually go sort them in albums, download albums and create appropriate subfolders on the server (if needed to save space, delete downloaded photos from immich). Upload/unzip and enjoy from PiGallery2. -- OR -- take photos with other cameras, scan/process on PC (darktable), create appropriate subfolders on the server, upload and enjoy from PiGallery2.

All in all what pisses me off of all this is:

  • Immich requiring a fucking email address to login (not a privacy concern here, but my users will need to remember a different login for this specific part)
  • Immich not supporting subpaths, i will need two subdomains to achieve this workflow, while just one would have been less complex for the users (something like photos.mydomain.org/gallery and photos.mydomain.org/backup, instead of photobackup.mydomain.org and photogallery.mydomain.org, you get the idea). I know all the blah blah on subdomains being better and such, i don't care, this is an usability issue for dumb users and, in general, it's the way i prefer it to be.

Of course, the best course would be to have Immich support folders (not external libraries, but actually folder based albums which is totally different approach) and it being able to move photos to folders, but hey, it wouldn't be fun in that case :)

Amy thoughts?

UPDATE: Immich storage templates seems to be the missing link. Using that properly would cut out the manual download/reupload approach. Need to experiment a bit, but looks promising.

you are viewing a single comment's thread
view the rest of the comments
[–] homegrowntechie@lemmy.world 4 points 8 months ago (7 children)

I went through this as well. This resource should help those starting out: https://github.com/meichthys/foss_photo_libraries

[–] Jayjo@mastodon.social 3 points 8 months ago (2 children)

@homegrowntechie @Shimitar

Have you looked at https://ente.io? Recently published on github and can self host.

[–] Shimitar@feddit.it 1 points 8 months ago

Mmm not sure, not a fan of open source.projects dependent on for-pay service. Not for the money itself, but what when/if the business model fails and the tools end up abandoned?

The 'net is filled with forgotten open source project.

[–] homegrowntechie@lemmy.world 1 points 8 months ago (1 children)

It'd on my list but the self hosting setup is not straightforward (no docker image yet)

[–] 7Sea_Sailor@lemmy.dbzer0.com 1 points 8 months ago* (last edited 8 months ago) (1 children)

Theres a Dockerfile that you can use for building. It barely changes the flow of how you setup the container. Bigger issue imo is that it literally is the code they use for their premium service, meaning that all the payment stuff is in there. And I don't know if the apps even have support for connecting to a custom instance.

Edit: their docs state that the apps all support custom instances, making this more intruiging

[–] homegrowntechie@lemmy.world 1 points 8 months ago (1 children)

Is there a demo instance? I could use that for testing of it exists.

[–] 7Sea_Sailor@lemmy.dbzer0.com 1 points 8 months ago

The demo instance would be their commercial service I suppose: https://ente.io/. Since, as are their own words, the github code 1:1 represents the code running on their own servers, the result when selfhosting should be identical.

load more comments (4 replies)