I need to put some order with the photos I take and I receive with my android phone. Just now I use Nextcloud sync client to upload and Photo/Memories Nextcloud Apps to manage photos.
However, I am not very happy with this setup because of the lack of one Android Application for photos and, thus, the photo gallery of my phone is totally different to the Photo/Memories timeline. And photos are not deleted from my mobile phone when I delete them in Photo/Memories. Which selfhosted photo manager do you think is better to backup and manage photos in sync with the phone?
A second question, is it better to manage the photo gallery with a folder structure or with the album functionality of the Photo application? Which is the best interoperable solution? If I use albums in Memories then I can export those albums to Immich, Librephotos… ? Or I would have to create all the albums again after the export?
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:
Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.
No spam posting.
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.
Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
No trolling.
Resources:
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
I can highly recommend the nc-photos client for Nextcloud. It’s so much better than the official client, and faster. It has support for the face recognition plugins. It’s missing the file picker intent though, which is a shame. To share a photo, I have to find it in nc-photos then share to the app, rather than from.
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:
3 acronyms in this thread; the most compressed thread commented on today has 16 acronyms.
[Thread #134 for this sub, first seen 12th Sep 2023, 08:55] [FAQ] [Full list] [Contact] [Source code]
This repo may help: https://github.com/meichthys/foss_photo_libraries
sounds like to much work. I just use the privacy-oriented photo backup solution ente. (And, because I’m an android user – plus having multiple backups – I also use Google Photos)
Google Photos is a non-starter for me as a backup solution because they scan the actual content of them. No thanks. I know it’s convenient to search for, say, “all photos with my nephew little Richie in them,” but it’s not worth giving them more information about me than they already do.
to be fair, all cloud services scan. It’s unfortunately necessary to detect CSAM to stop people from spreading it.
I really doubt this. If I lose the private key of this one service I use, my information is lost and unrecoverable - unless they put a backdoor in it.
But if it is true, I’d be okay with this - provided that it is only use to detect abuse images and nothing else.
Well, Google Photos shouldn’t be considered a “backup” solution to begin with. Never mind that both Google and Apple scan the content in their respective services, but there’s just no guarantee that they don’t modify the data on cloud. “Oooh guys, we just invented a revolutionary new photo compression algorithm! Also hosting data is kinda expensive! So pay up if you want your originals.” …and there’s occasional reports that these services just straight up corrupted some old files while no one was looking at them. Good going.
I just treat my Android phone like any other camera I own and use. Copy the files from phone to PC and from there to my NAS, and I use ACDSee’s DAM functionality.
ACDSee’s DAM functionality?
Edit: Digital Assets Management. It also says that it does facial recognition. Does it contact some online service “in the cloud” or is it all offline?
Round Sync with whatever remote (backend provider) you want supported by the underlying library rclone. They have self hosted remote options like FTP or something. If you want off site and privacy, create a crypted remote pointed to your off site backend remote. It acts as a wrapper to do end-to-end encryption.
Round Sync isn’t in any app store, so I’d set a watcher for releases on Github. You can setup scheduled backups or restores in Round Sync to keep things moving between your phone and backend remote as a relatively set it and forget it for one way syncing.
It has some nuances with bidirectional syncing that can result in data loss if not careful. With your workflow, I recommend something like a daily copy job from your phone to the server. This never deletes files. When you curate your photos via a tool on the backend remote (only do this when all photos on your phone are on the backup server), then you can do a manual sync from the backend remote to your phone to match the two exactly.
Copy just copies or updates to newer versions from target 1 to target 2.
Sync does the same but also deletes any files on target 2 that are not on target 1. Very easy to delete files if not careful in planning out your workflow. Test first.
I use Backblaze B2 for my off site remote which only hides and doesn’t delete files with the default settings. You can manage those with the rclone CLI application on a desktop to later cleanup hidden files or set them to delete after X days or something in the b2 life cycle settings on the Backblaze website.
Its no Google Photos or Dropbox, but it works well enough for me without giving up privacy. It also decouples the syncing from curating of photos giving some additional freedom for a custom workflow.
I personally just have a daily copy job on my phone from my phone to a crypted b2 remote and a cron on my self hosted server to copy from b2 to my self hosted server. Once a year I might clean things up from my server, do a manual sync to b2, then another to my phone. Sometime later I’ll go clean up the hidden (deleted) files in b2.
That said, I care more about backups than bidirectional syncing, so your milage may vary with this solution for your use case.
This is a great question. The photo ecosystem is one where I haven’t found a FOSS soln that hits all the marks of subscription services. I would focus on whatever helps you search.
I do feel like if files have accurate dates in the file system and in metadata, then folders based on event make sense.
However subscription photo services are very good at automatically sorting - these dates are holidays so these pictures are probably for that holiday. Your home location is here, these pictures are over there so this must be your trip to there. These pictures have these people or animals, so these pictures are about them.
With that comes seamless integration across devices - a picture taken at time now can be seen on a tv or laptop at time +x. Etc.
I have left the FOSS photo world but am definitely interested to see where it is. With digital photography finding pictures is the real trick. using folders like a tag hierarchy at least gets you in the ball park imo. But I have no practical knowledge any more.
Not sure if this helps any, but I found this -> https://play.google.com/store/apps/details?id=com.nkming.nc_photos that has changed my world!
use the dated upload from NC app to your server, then build out your albums and you have the best of both
Thanks for sharing this.
First, let me say I am delighted that such an app exists at all. More people should go and try to make such apps for Nextcloud.
When you mentioned it here, I got really excited, and now I have played with it for about an hour.
It creates Albums, OK. But when you have put some pics into an Album, you cannot rearrange them anymore afterwards. What is the album good for, if you cannot change it.
It does not work together with my way of storing pictures: Because my Nextcloud is for sharing the pics as well as for archiving them, I always have the RAW, sometimes also the “original” JPGs from the camera, then the edited JPGs (out of darktable), and sometimes yet another JPG with reduced size for fast online viewing. This app now shows all of them separately, that is, 2-4 times the same pic, and there is no way of knowing which is which.
You can start a slide show, but you cannot do that from the album view (where it belongs). Only from the single picture view, and even there it is the very last option :-). So you cannot select a range or a selection of pictures for the slide show, because you would need the album view for this. When the slide show is running, I miss all of the usual controls like pause, go back etc.
I have opened a pic from an album, then pressed the “garbage bin” icon, and it has deleted my picture immediately, without asking, and not just from this album, but also from the Nexcloud server. How stupid is this!?! I am not going to touch this app ever again, because of such stupid “features”.
Can I suggest you contact the Dev and post this, as they should be able to make the changes you need.
I use a folder structure in Nextcloud where each “album” folder starts with YYYY-MM-DD so I can sort them alphabetically. I delete the photos from my phone when I copy them to the Nextcloud folder. I can always look them up using the app. This is some manual work, but it has worked very well for long-term archival and it will still be organized and searchable on other platforms as long as they support files and folders.
Another nc user here. I have the recognition app and my photos are tagged. If I need to find them I search for the specific tag. It’s quite neat.
this is more or less my current workflow but i feel that is quite difficult to use/find photos in my android phone due to the lack of one android app.
I tried photoprism and thought it was pretty neat feature-wise. If I recall correctly they even sort received photos in a sensible date-based structure automatically. Don’t think they have an official app but maybe some third party stuff; the web UI is mobile friendly though.
To talk backups, I’d deploy the thing using containers and then back up the volumes any way you like.
This may not be the ideal solution for you, especially due to lack of decent android support. The workflow would probably be something like take photo -> sync to protoprism to sort -> view in photoprism gallery, which may also be too convoluted for you. Also, I’m not sure what you mean by the last paragraph.
i’m a fan of immich, but i don’t think it deletes photos from your phone when deleting it on the server.
AFAIK immich organize photos with albums not in folders. So, If i move from immich to another software (librephotos, photoprism…), the new software is aware of albums? I am worried on organizing my photos every time I change of photo management application.
That’s an organizational issue. I think almost all photo software (except lychee) is more “hands-off, everything internal” because of a few reasons:
If you sync between clients, do you want the software constantly shuffling files around on every device if something is changed in one album?
if you have chronological folders, do you want to make duplicates (double or triple the space) for every album including said picture?
If you work with albums, how do you deal with random folders not in albums?
how do you deal with conflicts of photos being put in different albums on different synced devices?
The solution for all of these is “leave the files where they are” and deal with everything via databases to organize photos. This way you can export or download albums for giving to someone and it will just pull all of the relevant files without having sync or reorganization issues.
not yet, it is planned but not there yet
I wanted to try Immich but I quickly found out you can’t simply point it at an existing folder structure like say Plex or Jellyfin. You have to “import” all your files via a client and if you’re like me and already have thousands of images in Nextcloud then even with their bulk upload CLI tool it is too much of a hassle.
Plus I don’t want to be locked into their format, I want to be able to switch if the project goes under or I find something better later on. Nextcloud’s photo management is not great but I am willing to sack some speed and usability for using raw folders rather than a database.
I switched from nextcloud to immich and the cli import was super easy and had a nice progress bar which made me feel productive. The images are just in directories on the filesystem unlike seafile.
10/10 would recommend. Shit feels premium as well.
removed by mod
I didn’t see any unique format for how Immich stores photos, they’re just on the filesystem as images.
From what I understand (I could be wrong) all of the images get imported into a single folder and albums are done via the database. I currently have my albums in individual folders. So not only would I have to recreate dozens of albums but I don’t think there would be any way to export them in the future. But if that isn’t how it works maybe I will give it another go.
Storage Templates. Photos are stored in subdirectories categorized by date.
CLI Import. It looks like you may be able to import your albums with the cli and --album flag, not sure about exporting though.
Interesting. Being able to import them using the folders as albums is fantastic, although it seems like there is no {{album}} variable for the storage template so the problem still persists. Once I’m using it there would be no easy to way to export the albums out.
Immich actually organizes your photos in a simple directory structure, which is customizable (want to group by year? year+month? by day? not at all?). The images are right there in your file system and have the original file name.
The directory is “read-only” though, for the same reason as there is a need to import existing libraries: database synchronization.
Immich offers many features that require a database or pre-processing of files, which makes it fast and feature-rich. If you modify files outside of Immich, it cannot know what changed and loses track of where your media is.
As I said, the (read-only) file structure is always there in case you want to switch.