So, I did a dumb thing and managed to brick the machine learning features (OCR, facial recognition, smart search) and can’t figure out how to fix it.
I’m running the latest version of Immich on TrueNAS Scale through the default applications repo. I have an SSD pool and HDD pool, with the latter pool containing the photo library and everything else on the SSD pool. Well, a month or two ago my SSD pool drives were failing (teamgroup drives are POS) which necessitated moving the files off the SSD pool and back onto a newly created SSD pool. I did this manually to back up as well as switching the app pool in the TrueNAS GUI.
When I reinstalled Immich on the new drives I didn't read the documentation like an idiot so copied my database files overtop of the new installation manually, instead of using the database restore function as I should have. I now believe I had a PostgreSQL 15 database before, but selected 18 when installing on the new drives. Sharing, albums, locked folder, map, reverse proxy all work, but most other ML features are not. Pictures are not scanned for faces even after manually running the jobs, switching models and resetting faces, (faces tab is empty). Likewise, smart search and OCR do not work either even after resetting those jobs and rescanning my whole 50k pic library. I get an “error: failed to search smart”. After learning how I messed up with the restore method, I attempted a database restore the right way through the maintenance mode, but I no longer have the database backup with version 15 and restoring with recent backups did not solve the problem. How do I fix this? I'm fine completely wiping out any part of the database as long as I can preserve albums.
I seem to have some hodgepodge of postgres 15 and 18 in the application directory now. I get an error when attempting to start the app with postgres 15 selected, it only starts with postgres18. Attached is the logs from all the TrueNAS containers, I'm not sure what other logs may be useful or where they're located.
(This is a completely separate system from my other post btw)