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?
i’m a fan of immich, but i don’t think it deletes photos from your phone when deleting it on the server.
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.
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.
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.
There’s an active pull request to add this in. Stay tuned
It’s planned to allow pointing immich to a directory as a read only gallery. This wouldn’t import the images, but still show them.
Can’t find it atm on my phone though.
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.
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.
-
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.
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.
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.
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:
Fewer Letters More Letters CSAM Child Sexual Abuse Material NAS Network-Attached Storage Plex Brand of media server package
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]
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.
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)
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
This repo may help: https://github.com/meichthys/foss_photo_libraries