I
Immich2w ago
Arioch

Migrating from Synology Photos - best practices

Hi all, I've just installed immich with a stack on portainer on my synology Nas, ran a few tests and it seems to work great. My main question is around Mobile backup and best practices around that if I want to ditch Synology Photos completely for both myself and my other users (family, mix of iOS and Android) and have immich handle the upload/backup while preserving my current library, I did some research online and I can either add my existing library as an external library or import everything through immich-cli. The app doesn't have an option to upload only new photos (like Synology photos does, on Android at least), not sure if that's on the roadmap? I can select the camera folder to be backed up but I'm guessing that would duplicate all my mobile backed up photos current in the library, even if I import it with the immich cli first? Or would immich recognize they are the same files and not back them up? What's the best way to move forward if I want immich to backup all my future photos from my phone without worrying about duplicates with my existing backup?
9 Replies
Immich
Immich2w ago
:wave: Hey @Arioch, Thanks for reaching out to us. Please carefully read this message and follow the recommended actions. This will help us be more effective in our support effort and leave more time for building Immich :immich:. References - Container Logs: docker compose logs docs - Container Status: docker ps -a docs - Reverse Proxy: https://immich.app/docs/administration/reverse-proxy - Code Formatting https://support.discord.com/hc/en-us/articles/210298617-Markdown-Text-101-Chat-Formatting-Bold-Italic-Underline#h_01GY0DAKGXDEHE263BCAYEGFJA Checklist I have... 1. :ballot_box_with_check: verified I'm on the latest release(note that mobile app releases may take some time). 2. :ballot_box_with_check: read applicable release notes. 3. :ballot_box_with_check: reviewed the FAQs for known issues. 4. :ballot_box_with_check: reviewed Github for known issues. 5. :ballot_box_with_check: tried accessing Immich via local ip (without a custom reverse proxy). 6. :ballot_box_with_check: uploaded the relevant information (see below). 7. :ballot_box_with_check: tried an incognito window, disabled extensions, cleared mobile app cache, logged out and back in, different browsers, etc. as applicable (an item can be marked as "complete" by reacting with the appropriate number) Information In order to be able to effectively help you, we need you to provide clear information to show what the problem is. The exact details needed vary per case, but here is a list of things to consider: - Your docker-compose.yml and .env files. - Logs from all the containers and their status (see above). - All the troubleshooting steps you've tried so far. - Any recent changes you've made to Immich or your system. - Details about your system (both software/OS and hardware). - Details about your storage (filesystems, type of disks, output of commands like fdisk -l and df -h). - The version of the Immich server, mobile app, and other relevant pieces. - Any other information that you think might be relevant. Please paste files and logs with proper code formatting, and especially avoid blurry screenshots. Without the right information we can't work out what the problem is. Help us help you ;) If this ticket can be closed you can use the /close command, and re-open it later if needed. Successfully submitted, a tag has been added to inform contributors. :white_check_mark:
Tempest
Tempest2w ago
Immich deduplicates during upload. If the user already has that image in an internal library, immich will not create a new one
Arioch
AriochOP2w ago
thank you, i was testing deduplication but with the external library wasn't working, i missed the part that it's only for the internal library... is that true for both cli and phone folder backup or does it matter which one happens first? does it need the machine learning service active?
schuhbacca
schuhbacca2w ago
Cli and phone backup yes. Machine learning does not need to be active. It's a hash of the file itself. So as long as they are byte for byte matches it will be rejected.
Arioch
AriochOP2w ago
thanks, so i am guessing the correct flow to minimize impact on family non-techy users would be to: - I import the external library for everybody with the CLI first - setup the app on their phones and have them go through the initial backup process - this should match and sync against the original pictures (so the "cloud with the checkmark" would display on all their photos without uploading them) - they are good to go hopefully synology doesn't modify metadata inside files, otherwise the hash wouldn't match
Tempest
Tempest2w ago
Yep exactly! You'll lose all the albums from Synology photos though, not sure if that's something that's important
Arioch
AriochOP2w ago
just as a reference on how to do this if other people run into question in the future: - make sure your external library is accessible in the immich server container as an additional volume mapping (e.g. in my "volumes" mapping i have an extra "/volume2/homes:/homes/users:ro" so i can access all user's synology photos libraries through "/homes/users/whatever_username/Photos" later in the container) - ssh into your nas - run "sudo docker exec -it Immich-SERVER /bin/bash" (Immich-SERVER is the name of my container, you might need to change it) - run "immich login http://127.0.0.1:2283/api XXX" where XXX is the API KEY (check immich cli documentation on how to get that); you might need to change the port (2283) based on what you mapped the server to in your docker config - you can verify the asset count that you have in the folder you want to upload with "find /path/to/my/folder/ -type f -not -path "/@eaDir/" -not -name "Thumbs.db" | wc -l" - you can verify the number of assets that will be uploaded by running "immich upload --dry-run --ignore "/@eaDir/" --recursive /path/to/my/folder" (the path in my case was "/homes/users/whatever_username/Photos") - once you are ready run the above command without the "--dry-run" option uploading this way seems to take ~3 minutes per 1 GB and uses ~25-50% cpu on my DS923+, i also see ffmpeg spiking to ~40% using basically all my cpu (i am guessing when it's processing videos during upload?) i am guessing to do this for multiple users you need to get the api key for each user and re run the immich login, but to get those API keys looks like you actually have to login as those users locally?
Arioch
AriochOP2w ago
after the upload finished i see a lot of "error loading image" in the web and the "exclamation icon" on mobile, pictures are not loading even when i open them tho... i am guessing i have to wait on some jobs to create previews etc. looking in the jobs panel i can see three jobs running: - generate thumbnails - transcode videos - storage template migration i am going to wait until they finish and hopefully everything should be ok
No description
Arioch
AriochOP2w ago
after a while the processing was done and i can see all my images in the library. overall for my 5GB test it took ~15 min to upload and another ~15 min for the job to process them (i have disabled machine learning for now, i am planning on doing it after the fact on a separate pc) next i am syncing my current phone library so i can ditch synology photos: - i went into the backup menu and selected the "Camera" folder and a few other folders (e.g. screenshots) - enabled the foreground sync - it's going 1 by 1 on the upload, it looks like it's skipping everything that is there already and i see "cloud with checkmark" icons appearing slowly in the library - everything was done in an extra ~15-20 min for ~1k pictures, it looks like most of them matched and only ~40 were uploaded (probably from some other folder i selected)

Did you find this page helpful?