Immich fails to start after migrating to new dataset structure (pgvecto permission error) - TRUENAS
Hi all,
I’ve recently migrated Immich to the new storage layout, and assigned Machine Learning Cache to HostPath. I made sure to follow the guidance and created regular folders (not datasets) under:
/mnt/immich/data/
Immich version - App Version: v1.134.0, Version: v1.9.2
TRUENAS - 25.04.1
Everything seems to be correctly structured and permissions looked fine at first glance. However, when I try to start the app, I get the following error:
The logs from ix-immich-pgvecto-1 show:
I did not have this error with the old storage configuration and these are some of the settings in my truenas for immich app
Dataset type: SSD
User ID - 0, and Group ID - 0
App storage paths:
Data: /mnt/immich/data
Postgres: /mnt/immich/postgres-data
Any advice?

8 Replies
:wave: Hey @vasi,
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:could not access directory "/var/lib/postgresql/data": Permission deniedThe FS permissions are wrong
relevant mount points and permissions screenshot attached


That looks like Truenas NFS user perms, I doubt those are relevant here
Hmm, while creating the dataset for
/mnt/data/immich/data
and /mnt/data/immich/postgres-data
, I did select DataSet Preset as Apps. is that causing issues here?.
But also, I did turn on the Automatic permissions option in the immich app, and permission container logs say
I'm not really familiar with truenas or the truenas app, so idk about any of that
But seems like that last thing doesn't apply to the postgres data at all
Path [/mnt/permission/pgvecto_postgres_data] is not empty, skipping...
True.
created an issue - https://github.com/truenas/apps/issues/2602
fixed it.
somehow, the permissions won't apply if the folder is non-empty. and need to do it manually
chown -R 999:999 /mnt/data/immich/postgres-data
This thread has been closed. To re-open, use the button below.