I
Immich4mo ago
vasi

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:
Failed 'up' action for 'immich' app:
Container ix-immich-permissions-1 Exited
Container ix-immich-pgvecto-1 is unhealthy
dependency failed to start: container ix-immich-pgvecto-1 is unhealthy
Failed 'up' action for 'immich' app:
Container ix-immich-permissions-1 Exited
Container ix-immich-pgvecto-1 is unhealthy
dependency failed to start: container ix-immich-pgvecto-1 is unhealthy
The logs from ix-immich-pgvecto-1 show:
2025-06-19 10:56:24.294750+00:002025-06-19T10:56:24.294750495Z
2025-06-19 10:56:31.111201+00:00Using SSD storage
2025-06-19 10:56:31.119858+00:00chmod: changing permissions of '/var/lib/postgresql/data': Operation not permitted
2025-06-19 10:56:31.138821+00:00The files belonging to this database system will be owned by user "postgres".
2025-06-19 10:56:31.138850+00:00This user must also own the server process.
2025-06-19 10:56:31.138873+00:002025-06-19T10:56:31.138873999Z
2025-06-19 10:56:31.138890+00:00The database cluster will be initialized with locale "en_US.utf8".
2025-06-19 10:56:31.138896+00:00The default database encoding has accordingly been set to "UTF8".
2025-06-19 10:56:31.138901+00:00The default text search configuration will be set to "english".
2025-06-19 10:56:31.138902+00:00initdb: error: could not access directory "/var/lib/postgresql/data": Permission denied
2025-06-19 10:56:31.138907+00:002025-06-19T10:56:31.138907102Z
2025-06-19 10:56:31.138936+00:00Data page checksums are disabled.
2025-06-19 10:56:24.294750+00:002025-06-19T10:56:24.294750495Z
2025-06-19 10:56:31.111201+00:00Using SSD storage
2025-06-19 10:56:31.119858+00:00chmod: changing permissions of '/var/lib/postgresql/data': Operation not permitted
2025-06-19 10:56:31.138821+00:00The files belonging to this database system will be owned by user "postgres".
2025-06-19 10:56:31.138850+00:00This user must also own the server process.
2025-06-19 10:56:31.138873+00:002025-06-19T10:56:31.138873999Z
2025-06-19 10:56:31.138890+00:00The database cluster will be initialized with locale "en_US.utf8".
2025-06-19 10:56:31.138896+00:00The default database encoding has accordingly been set to "UTF8".
2025-06-19 10:56:31.138901+00:00The default text search configuration will be set to "english".
2025-06-19 10:56:31.138902+00:00initdb: error: could not access directory "/var/lib/postgresql/data": Permission denied
2025-06-19 10:56:31.138907+00:002025-06-19T10:56:31.138907102Z
2025-06-19 10:56:31.138936+00:00Data page checksums are disabled.
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?
No description
No description
8 Replies
Immich
Immich4mo ago
: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:
bo0tzz
bo0tzz4mo ago
could not access directory "/var/lib/postgresql/data": Permission denied
The FS permissions are wrong
vasi
vasiOP4mo ago
relevant mount points and permissions screenshot attached
No description
No description
bo0tzz
bo0tzz4mo ago
That looks like Truenas NFS user perms, I doubt those are relevant here
vasi
vasiOP4mo ago
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
2025-06-19 11:22:24.692471+00:00=== Applying configuration on volume with identifier [pgvecto_postgres_data] ===
2025-06-19 11:22:24.692505+00:00Path [/mnt/permission/pgvecto_postgres_data] is not empty, skipping...
2025-06-19 11:22:24.692514+00:00=== Applying configuration on volume with identifier [redis_redis_data] ===
2025-06-19 11:22:24.692522+00:00Path [/mnt/permission/redis_redis_data] is a temporary directory, ensuring it is empty...
2025-06-19 11:22:24.692531+00:00Current Ownership and Permissions on [/mnt/permission/redis_redis_data]:
2025-06-19 11:22:24.692536+00:00Ownership: wanted [1001:0], got [1001:0].
2025-06-19 11:22:24.692541+00:00Permissions: wanted [None], got [0775].
2025-06-19 11:22:24.692546+00:00---
2025-06-19 11:22:24.692554+00:00Ownership is correct. Skipping...
2025-06-19 11:22:24.692559+00:00Skipping permissions check, chmod is falsy
2025-06-19 11:22:24.692564+00:00Time taken: 0.34ms
2025-06-19 11:22:24.692568+00:00=== Finished applying configuration on volume with identifier [redis_redis_data] ==
2025-06-19 11:22:24.692574+00:002025-06-19T11:22:24.692574056Z
2025-06-19 11:22:24.692581+00:00Total time taken: 0.56ms
2025-06-19 11:22:24.692471+00:00=== Applying configuration on volume with identifier [pgvecto_postgres_data] ===
2025-06-19 11:22:24.692505+00:00Path [/mnt/permission/pgvecto_postgres_data] is not empty, skipping...
2025-06-19 11:22:24.692514+00:00=== Applying configuration on volume with identifier [redis_redis_data] ===
2025-06-19 11:22:24.692522+00:00Path [/mnt/permission/redis_redis_data] is a temporary directory, ensuring it is empty...
2025-06-19 11:22:24.692531+00:00Current Ownership and Permissions on [/mnt/permission/redis_redis_data]:
2025-06-19 11:22:24.692536+00:00Ownership: wanted [1001:0], got [1001:0].
2025-06-19 11:22:24.692541+00:00Permissions: wanted [None], got [0775].
2025-06-19 11:22:24.692546+00:00---
2025-06-19 11:22:24.692554+00:00Ownership is correct. Skipping...
2025-06-19 11:22:24.692559+00:00Skipping permissions check, chmod is falsy
2025-06-19 11:22:24.692564+00:00Time taken: 0.34ms
2025-06-19 11:22:24.692568+00:00=== Finished applying configuration on volume with identifier [redis_redis_data] ==
2025-06-19 11:22:24.692574+00:002025-06-19T11:22:24.692574056Z
2025-06-19 11:22:24.692581+00:00Total time taken: 0.56ms
bo0tzz
bo0tzz4mo ago
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...
vasi
vasiOP4mo ago
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
Immich
Immich4mo ago
This thread has been closed. To re-open, use the button below.

Did you find this page helpful?