Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support user defined storage location/structure #34

Closed
wjbeckett opened this issue Feb 26, 2022 · 27 comments · Fixed by #1098
Closed

Support user defined storage location/structure #34

wjbeckett opened this issue Feb 26, 2022 · 27 comments · Fixed by #1098
Assignees

Comments

@wjbeckett
Copy link

I mentioned this on Reddit, but the user should be able to define how images are stored on the file system. This will not only allow for the user to choose how the images are named, but should allow Immich to index existing images.

Let's say I have an existing photos library where the photos are structured like this:
Photos |
|-> 2022
|-> 01
|-> filename.ext

Immich should respect the existing file structure and index the existing images.

While importing new photos, it should ask the user how the photos should be stored allowing the user to define the file structure above so that newly imported photos are placed in the correct place on the existing file system in the users defined folder structure.

Ideally, we should be able to define the filename pattern as well. Mine is currently date_timestamp_number.ext. for example, 2022-02-23-203109-001.jpeg

@alextran1502
Copy link
Contributor

Thank you for your suggestion. I will consider this when the mobile app is stable and all the basic features are ironed out

@wjbeckett
Copy link
Author

So, I am the one who made the request for the external importer but you may be misinterpreting what I have said.
What I mean is this - most people in this sub will already have a bunch of photos on their servers/NAS stored in a way they prefer on the file system, for me, it’s a directory called photos and then sub folders as years (2022, 2021, 2020, etc) and then sub folders within them as months, and then the image files within that.

This is how I want my photos to be arranged and I don’t want another app changing that. What I would like is the app to accept my input as to how I want the images stored on the server/NAS and then move them there for me.

So, what Immich should be doing, is collecting the photos and videos off my device, grab the metadata along with that and pushing them to my server to sit in an “import” directory (or something similar). Then, the server app should scan that directory for any files, tag them based on the metadata, perform facial recognition, etc and then move the photos to their final testing place in my photo library that already exists on my file system and in the naming convention I expect them to be in.

This way Immich won’t just be an uploading too, it will be an image management app as well as a backup tool for my device images and a way to view my images on my server.

This is sort of the way Photoprism and similar app/servers work.

@ippocratis
Copy link

ippocratis commented Mar 3, 2022

I agree with the year/month/day folder structure but I don't want to push the dev
Its his app after all
I see that immich is crazy fast in loading and displaying immages appar to how fast google photos loads cloud images. That crazy fast
So I really want this app to grow so I can use it.
The truth is that if the feature to add to immich server photos already on the server machine is not somehow imlemented it is not going to be any usable

@nijhawank
Copy link

+1. I also have my existing photos in year/month/photo.ext structure that I want to be able to access via Immich. It would be a good idea if Immich simply indexes them in-place without requiring them to be imported/duplicated into another location.

@JamesTeague
Copy link

Adding to the request, this would be great. It's something that I think a lot of people want, being autonomy over their server file structure. This will allow other things to play nice with the files too, I believe. This is something I'd personally love to see in here and I think many others would to.

@Akruidenberg
Copy link

+1 for me.

@alextran1502
Copy link
Contributor

+1. I also have my existing photos in year/month/photo.ext structure that I want to be able to access via Immich. It would be a good idea if Immich simply indexes them in-place without requiring them to be imported/duplicated into another location.

Noted, this is a different scope of the project though. I will let you know when I implement a CLI tool for this.

@mokahless
Copy link

Ah I was just starting to investigate the best way to expose my smb share to immich in its container and came across this thread. I actually don't care about adding photos through immich and just want it to add photos I've put on my smb share automatically, without duplicating them or renaming them or moving them.

Since it hasn't been mentioned yet, I'll mention that photoprism refers to this as "indexing" for original directories.

@wiseindy
Copy link

+1 Would love to be able to use my existing photo library with Immich

@reejosamuel
Copy link

+1 to this.

@Ewalda
Copy link

Ewalda commented Aug 22, 2022

+1
SynologyPhotos (NAS) use following similar file structure for standard backup mobile devices:

MobileBackup///month
The device name is e.g. iphone name which the user give to his phone e.g. "Toms Iphone". In Immich is currently a cryptic Id a name would be better.

Parallel to that the user can create free defined other folders, which are also included in the photo database. And inside this folders also free defined sub folders are possible. This structure is necessary for sorting a lot of images to several events.

Additional the original date and time of the image and the movies is set to the modified date and time of the file system. Immich uses the upload time in the file system.
Additional it either uses the original name of the mobile device or it can be selected to rename the filename to IMG_yyyyMMdd_HHmmss (If there is already a file with this name it will be renames by adding _1 ...) <= This naming is often used by mobile phones and cameras for photos and videos. Immich uses a random UUID (asset-upload.config.ts fileNameUUID = randomUUID()).

It would be very good if Immich can do it similar. Immich mobile backup is much faster than synology photos. (I believe also other things are faster! Very Good! But I have not yet so much photos in Immich.)

All that things are very essential if the database crashes (what happens to me on the synology database). It is possible to rebuild the database by this file system structure! Also for files (videos) with no Exif Data! Also the sorted directory structure is still there, albums are only stored in the database.

We have above 1 000 000 photos currently sorted by this way.

Additional information to albums:
Only a flat album structure is not enough to sort so many photos at least sub albums should be supported (Synology photos also don't support sub albums, therefore and because of database problems I sort it in the directories. But because of avoiding duplicates, albums would be better! )

@fivestones
Copy link

I'd like to have this feature too

@eckebusch
Copy link

+1 to this

@Txxicer
Copy link

Txxicer commented Aug 28, 2022

+1

@zkhan93
Copy link
Contributor

zkhan93 commented Sep 11, 2022

+1 to this feature as it also makes the app more "safe".
love the app thank you so much!

@ggantn
Copy link

ggantn commented Oct 1, 2022

+1 for me.

@Spectre5
Copy link

Spectre5 commented Oct 3, 2022

I'd also love the ability to just index an existing directory tree. I have my photos already organized in a meticulous way within various subdirectories that are meaningful for me. I'd like to load this share/directory as read-only in Immich to be sure nothing in it changes.

@DawidPietrykowski
Copy link
Contributor

I also agree that such feature would be a great addition to the app. For me it's the only thing holding me back from ditching Plex, the loading/viewing speed of Immich could make it a great photo gallery/browser for a NAS.

@kenzot11
Copy link

kenzot11 commented Nov 2, 2022

+1 for me

@nijhawank
Copy link

I assume this only stores photos uploaded via Immich to be stored in the specified folder/file structure. But this does not indexes photos in existing folder (not uploaded via Immich) and makes them available via Immich, is the understanding correct?

@alextran1502
Copy link
Contributor

I assume this only stores photos uploaded via Immich to be stored in the specified folder/file structure. But this does not indexes photos in existing folder (not uploaded via Immich) and makes them available via Immich, is the understanding correct?

@nijhawank that is correct, the scanning feature is not yet implemented. You can find a more detailed discussion here #1006

@arnoudius
Copy link

arnoudius commented Feb 19, 2023

+1, would be nice if this could be supported

@amokster88
Copy link

amokster88 commented Apr 2, 2023

+1, i would love this and I just deployed this and I am loving this. Can't thank you enough Devs. Keep it up, I hope more people start supporting this project.

@poisonborz
Copy link

poisonborz commented Jun 9, 2023

+1, even though I'm in awe of what Immich became , for now this is a dealbreaker for me.
I already have an established photo structure which I expose through multiple services. I'd only share this folder as read only with any container, as I wouldn't risk them corrupting or modifying them in a way I don't expect. Metadata/thumbnails should be stored separately. Good (even though different scope) examples for this behaviour would be PiGallery 2 or Nextcloud.

@charles-997
Copy link

As an update, this feature has been added. See docs here
https://immich.app/docs/features/read-only-gallery

@zilexa
Copy link

zilexa commented Jul 1, 2023

Perhaps allow to set a global default of the "External Path", relative to the user path.
Like %userfiles%/%username%/Pictures
Each user would have their photos in a subfolder inside their userfolder called Pictures (or Photos or Albums or whatever).

@jrasm91
Copy link
Contributor

jrasm91 commented Jul 1, 2023

You can already do this by prefixing the storage template with Pictures and by setting up your volume mounts for the external path relative to the upload location.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.