jonp Posted 19 hours ago Posted 19 hours ago Let's Talk About Immich If you've been running Immich on HexOS this year, you know it hasn't been smooth sailing exactly. We want to talk about what's happened, why it was so challenging, and how we're working to handle these situations better in the future. What Happened? Earlier this year, Immich deprecated their old storage configuration and required all users to migrate to a new structure. For users running Immich through docker-compose or other manual setups, this meant updating some configuration files and running a few commands. Annoying, but manageable. For some HexOS users, the migration was more involved. Because of how TrueNAS SCALE structures application storage, moving to the new configuration required either reinstalling Immich fresh (the simplest solution) or manually migrating existing data between datasets (a process that involved SSH access, rsync commands, and careful attention to permissions). But if you're choosing between "reinstall the app" or "follow a 15-step guide," neither option feels great when you chose HexOS specifically to avoid that kind of complexity. Why Was This So Hard? When Immich made this change, we had a choice to make. We could have built a comprehensive rsync-based migration tool using the TrueNAS API. It has those capabilities. But that would have meant dropping everything else we were working on to build what amounts to using a cannon to kill a mosquito: a massive, complex solution for what we hope won't be a regularly recurring problem with this particular app. Instead, our community stepped up in a huge way. Users like @forsaken and @G-M0N3Y-2503 created detailed guides (to move or rsync your data). These guides walked through the manual migration process to preserve existing data in Immich. They focused on helping users through the immediate problem, while we continue building the platform we need to handle situations like this properly. That platform is HexOS Local: a locally-hosted management application that will let us perform complex operations without being bottlenecked by the engineering overhead of building one-off solutions through the SCALE API every time an application throws us a curveball. This reduces the technical burden on our team and, more importantly, gives us the flexibility to automate maintenance tasks that previously would have required manual intervention or massive engineering investments. This same platform will serve the Local UI/UX feature we've committed to delivering as part of our 1.0 release. We'll be talking a lot more about HexOS Local in an upcoming blog post, but the key takeaway is this: we're building HexOS to handle whatever the open-source ecosystem throws at it, without having to choose between "drop everything and build a custom tool" or "make users SSH into their servers." What About Right Now? If you're currently running Immich on the old storage configuration and haven't migrated yet, you have options: The simple path: Reinstall Immich fresh with the new configuration. Your photos will need to be re-uploaded, but the setup is clean and straightforward. The preservation path: Follow one of the community migration guides to keep your existing data in place. These guides are more technical and require command-line access, but they work. Our recommendation depends on your situation. If you have a manageable photo library and good backups, the fresh install is probably your best bet. If you have years of photos, carefully organized albums, and user configurations you don't want to recreate, the migration guides are there for you. And if this seems to daunting, email support@hexos.com so we can schedule a time to assist you directly. Moving Forward The Immich situation showed us exactly where we need to invest engineering effort. We can't keep facing the choice between building massive one-off solutions or asking users to break out the terminal. That's not sustainable, and it's not the HexOS we're building. Immich is an incredible project. It's exactly the kind of self-hosted solution we want to make accessible to everyone. The team behind it recently released v2.0, marking their stable release with better upgrade paths going forward. We're committed to making sure that when the next complex maintenance task comes up, whether it's Immich or any other application, we have the infrastructure in place to handle it gracefully. That's the HexOS we're building. Thanks for your patience while we get there. 6 2
laurelista Posted 13 hours ago Posted 13 hours ago (edited) I ended up having to reinstall Immich (twice, for some reason, the second seems less likely to be hexos related), so I appreciate you being up-front with acknowledging that it was… not fun. Daunting was probably the right word for it. I usually consider myself tech savvy so being so totally out of my depth was frustrating in a way I’m not used to. A suggestion: some folks might be having trouble completely uninstalling/reinstalling (I did) so a simple guide on how to do that might be helpful, even if it’s just “hey delete this dataset” - I’m sure the advice exists in the forum but there are a lot of things to search through to find it. If I remember right, uninstalling/reinstalling on the hexos deck didn’t fix the underlying issue or delete the underlying data. I’ve seen the pace of updates and the pace of communication improve over the last few months - which makes it easier to assume best intent. I look forward to what’s coming next (and hopefully no other apps break that bad) Edited 13 hours ago by laurelista Added a line I intended to include but forgot about installing via the deck 1
jonp Posted 11 hours ago Author Posted 11 hours ago 1 hour ago, laurelista said: A suggestion: some folks might be having trouble completely uninstalling/reinstalling (I did) so a simple guide on how to do that might be helpful, even if it’s just “hey delete this dataset” - I’m sure the advice exists in the forum but there are a lot of things to search through to find it. If I remember right, uninstalling/reinstalling on the hexos deck didn’t fix the underlying issue or delete the underlying data. That thought did occur to us, but to be perfectly honest we'd rather anyone not comfortable following the guides or having difficulty to just contact us directly for support. That's what you all paid for and we are gonna provide it. I don't want to start asking our users who aren't comfortable to navigate the TN interface. 1
Sunny Posted 7 hours ago Posted 7 hours ago I followed the steps did ssh as root did rsync but running into below issue 2025-11-20 09:04:02.838598+00:00Starting api worker 2025-11-20 09:04:02.842852+00:00Starting microservices worker 2025-11-20 09:04:05.187836+00:00[32m[Nest] 7 - [39m11/20/2025, 1:04:05 AM [32m LOG[39m [33m[Microservices:WebsocketRepository][39m [32mInitialized websocket server[39m 2025-11-20 09:04:05.615130+00:00[32m[Nest] 7 - [39m11/20/2025, 1:04:05 AM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mtargetLists=1, current=1 for clip_index of 12501 rows[39m 2025-11-20 09:04:05.620225+00:00[32m[Nest] 7 - [39m11/20/2025, 1:04:05 AM [32m LOG[39m [33m[Microservices:DatabaseRepository][39m [32mtargetLists=1, current=1 for face_index of 18656 rows[39m 2025-11-20 09:04:05.742822+00:00[32m[Nest] 7 - [39m11/20/2025, 1:04:05 AM [32m LOG[39m [33m[Microservices:StorageService][39m [32mVerifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}}[39m 2025-11-20 09:04:05.743417+00:00[31m[Nest] 7 - [39m11/20/2025, 1:04:05 AM [31m ERROR[39m [33m[Microservices:StorageService][39m [31mFailed to read (/data/encoded-video/.immich): Error: ENOENT: no such file or directory, open '/data/encoded-video/.immich'[39m 2025-11-20 09:04:05.752069+00:00[32m[Nest] 22 - [39m11/20/2025, 1:04:05 AM [32m LOG[39m [33m[Api:WebsocketRepository][39m [32mInitialized websocket server[39m 2025-11-20 09:04:05.768341+00:00microservices worker error: Error: Failed to read: "<UPLOAD_LOCATION>/encoded-video/.immich (/data/encoded-video/.immich) - Please see https://docs.immich.app/administration/system-integrity#folder-checks for more information.", stack: Error: Failed to read: "<UPLOAD_LOCATION>/encoded-video/.immich (/data/encoded-video/.immich) - Please see https://docs.immich.app/administration/system-integrity#folder-checks for more information." 2025-11-20 09:04:05.768410+00:00at StorageService.verifyReadAccess (/usr/src/app/server/dist/services/storage.service.js:129:19) 2025-11-20 09:04:05.768418+00:00at async /usr/src/app/server/dist/services/storage.service.js:56:21 2025-11-20 09:04:05.768424+00:00at async /usr/src/app/server/dist/repositories/database.repository.js:379:27 2025-11-20 09:04:05.768437+00:00at async /usr/src/app/server/node_modules/.pnpm/kysely@0.28.2/node_modules/kysely/dist/cjs/kysely.js:535:20 any advice any what I messed up. Thanks
MichaelBeek Posted 2 hours ago Posted 2 hours ago Hi all, I would love some advice too. I didn't read a forum, just upgraded my immich, and thought things would be ok. They where not ok. After hours of batteling with linux (I am fairly new to linux), I finally managed to have the app running again. Currently this is my folder structure: /mnt/HDDs/Applications/immich/data total 79 drwxrwx--- 9 apps apps 9 Nov 20 04:33 . drwxrwx--- 11 apps apps 11 Nov 19 13:11 .. drwxrwx--- 2 apps apps 4 Nov 19 17:00 backups drwxrwx--- 3 apps apps 4 Apr 24 2025 encoded-video drwxrwx--- 3 apps apps 4 Nov 18 13:13 library drwxrwx--- 2 apps apps 3 Apr 24 2025 profile drwxrwx--- 3 apps apps 4 Apr 24 2025 thumbs drwxrwx--- 4 apps apps 5 Nov 18 03:55 upload /mnt/HDDs/Applications/immich/postgres_data I have pointed the host path inside truenas to both: /mnt/HDDs/Applications/immich/data /mnt/HDDs/Applications/immich/postgres_data For data, user 568 is owner and has full rights For postgres_data, user 999 us owner and has full rights. THE PROBLEM The mobile app can open immich, with no issue, I can see my old photos, BUT NO ALBUMS The webUI interface loads, shows NO pictures, and crashes, I can't press any buttons on the webUI, and after a few minutes, chrome tells me it crashed. Other browser, incognito, does not help I have been bashing my face against my screen for hours now, I hope someone can help me
MichaelBeek Posted 2 hours ago Posted 2 hours ago (edited) 13 minutes ago, MichaelBeek said: Hi all, I would love some advice too. I didn't read a forum, just upgraded my immich, and thought things would be ok. They where not ok. After hours of batteling with linux (I am fairly new to linux), I finally managed to have the app running again. Currently this is my folder structure: /mnt/HDDs/Applications/immich/data total 79 drwxrwx--- 9 apps apps 9 Nov 20 04:33 . drwxrwx--- 11 apps apps 11 Nov 19 13:11 .. drwxrwx--- 2 apps apps 4 Nov 19 17:00 backups drwxrwx--- 3 apps apps 4 Apr 24 2025 encoded-video drwxrwx--- 3 apps apps 4 Nov 18 13:13 library drwxrwx--- 2 apps apps 3 Apr 24 2025 profile drwxrwx--- 3 apps apps 4 Apr 24 2025 thumbs drwxrwx--- 4 apps apps 5 Nov 18 03:55 upload /mnt/HDDs/Applications/immich/postgres_data I have pointed the host path inside truenas to both: /mnt/HDDs/Applications/immich/data /mnt/HDDs/Applications/immich/postgres_data For data, user 568 is owner and has full rights For postgres_data, user 999 us owner and has full rights. THE PROBLEM The mobile app can open immich, with no issue, I can see my old photos, BUT NO ALBUMS The webUI interface loads, shows NO pictures, and crashes, I can't press any buttons on the webUI, and after a few minutes, chrome tells me it crashed. Other browser, incognito, does not help I have been bashing my face against my screen for hours now, I hope someone can help me Ok, resolved part of the issue, webUI now works: It's resolved by updating immich, problem is solved in v2.3.1,. On truenas. If the update isn't showing, go to "Apps", click on "Discover Apps" and then click on "Refresh catalogue". Now the update should show 🙂 My old albums are still gone though Edited 2 hours ago by MichaelBeek
Todd Miller Posted 2 hours ago Posted 2 hours ago Hmm. It sure seems it took a long time to come to this. And along the way many have already rejected this uninstall/reinstall approach assuming you would eventually have to fix this. Since this is a situation that we are most likely to encounter again do you have a plan to get the Eshtek response out before the forums are reduced to a dozen large arguments? You may not know what issues are coming but you do know months of silence has proven o be a bad situation.
Recommended Posts