Immich crashing after migration

Hi everyone

I have finally completed the migration from the old immich config to the new one. The only thing is it says its crashed. Ive been having all sorted of postgres issues with apps crashing. I uninstalled and reinstalled a few which worked but id rather not do this here. If anyone has ideas id be grateful to hear. thank you for readin

The offending container is pgvecto_upgrade. Here are the container logs

2026-02-23 10:42:26.893444+00:00[ix-postgres-main] - [2026-02-23 23:42:26] - Starting entrypoint with migration and upgrade handling

2026-02-23 10:42:26.894355+00:00[ix-postgres-main] - [2026-02-23 23:42:26] - ERROR: Not writable path [/var/lib/postgresql]

2026-02-23 10:42:27.392606+00:00[ix-postgres-main] - [2026-02-23 23:42:27] - Starting entrypoint with migration and upgrade handling

2026-02-23 10:42:27.393317+00:00[ix-postgres-main] - [2026-02-23 23:42:27] - ERROR: Not writable path [/var/lib/postgresql]

sudo cat /var/log/app_lifecycle.log


[2026/02/23 02:45:09] (ERROR) app_lifecycle.compose_action():58 - Failed 'up' action for 'immich' app:  Network ix-immich_ix-internal-immich-net  Creating\n Network ix-immich_ix-internal-immich-net  Created\n Container ix-immich-permissions-1  Creating\n Container ix-immich-permissions-1  Created\n Container ix-immich-pgvecto_upgrade-1  Creating\n Container ix-immich-machine-learning-1  Creating\n Container ix-immich-redis-1  Creating\n Container ix-immich-redis-1  Created\n Container ix-immich-machine-learning-1  Created\n Container ix-immich-pgvecto_upgrade-1  Created\n Container ix-immich-pgvecto-1  Creating\n Container ix-immich-pgvecto-1  Created\n Container ix-immich-server-1  Creating\n Container ix-immich-server-1  Created\n Container ix-immich-permissions-1  Starting\n Container ix-immich-permissions-1  Started\n Container ix-immich-permissions-1  Waiting\n Container ix-immich-permissions-1  Waiting\n Container ix-immich-permissions-1  Waiting\n Container ix-immich-permissions-1  Exited\n Container ix-immich-machine-learning-1  Starting\n Container ix-immich-permissions-1  Exited\n Container ix-immich-pgvecto_upgrade-1  Starting\n Container ix-immich-permissions-1  Exited\n Container ix-immich-redis-1  Starting\n Container ix-immich-pgvecto_upgrade-1  Started\n Container ix-immich-permissions-1  Waiting\n Container ix-immich-pgvecto_upgrade-1  Waiting\n Container ix-immich-redis-1  Started\n Container ix-immich-machine-learning-1  Started\n Container ix-immich-permissions-1  Exited\n Container ix-immich-pgvecto_upgrade-1  service "pgvecto_upgrade" didn't complete successfully: exit 1\nservice "pgvecto_upgrade" didn't complete successfully: exit 1\n

Postgres needs permission for user 999 which in truenas is the buildin netdata user. Does that user have permission for read/write/execute?

hello

thank you for your message

I did try that but i got this error message. Im not entirely sure what it means

[EPERM] Filesystem permissions on path /mnt/super_rad_cool_pool/app_data prevent access for user "netdata" to the path /mnt/super_rad_cool_pool/app_data/immich/data. This may be fixed by granting the aforementioned user execute permissions on the path: /mnt/super_rad_cool_pool/app_data.

looks like you only granted read/write permissions not execute

is execute the same as full control, or modify?

execute is modify, full control is execute + permission to change ownership (as far as i know)

Got it going, thank you heaps Lars

1 Like

I’m currently getting the same issue but not sure how to exactly resolve the issue. I

New to TrueNAS and I’m now testing out replications to ensure I can restore a backup. Trying out Immich and Mealie.

When I look at the permissions section the edit is disabled I assume this is because it is managed by the app.

Is there a command line that can be run or is there a different process.

Backup and Replication is my last (famous last words) step to getting things up and running.

If the edit button is disabled, you’ve most likely selected the root dataset. The permissions of the root dataset can’t be changed, you have to choose the child datasets

Okay so I am missing something either on the replication or the on the restore? Here are the steps taken to replication (restore is basically similar, going to use Mealie as my example):

  • Created a Dataset called ā€˜Reps’ off the pool called ā€˜storage’ and set this to be apps (tested with Generic as well still the same results).
  • In Data Protection, create a Replication task that replicates the app into a new location: ā€˜/mnt/storage/Reps/Mealie’
  • Run the replication
  • When I look at the Dataset for ā€˜/mnt/storage/Reps/Mealie’ the edit is disabled
  • Restore is basically the same steps.
  • Then I go into the App and point the data to the new data dataset and the Postgres to the new Postgres dataset.

I kept all the other settings the same and also left the Automatic Permissions on. I also don’t have any users created.

The goals here are to make sure I have two copies of the app as a whole. I want to be able to move the App and have full backups which Replications seem the right way.

Hope this makes sense.

Bit more researched and figured it out.

When setting up a replication, I had to go into Advanced settings and change the ā€œDestination Dataset Read-Only Policyā€ to IGNORE.