Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Immich

Featured Replies

Just now, Nettuno said:

Ok, do you recommend moving to the official docker? Is the guide you're talking about this one: https://rorar.github.io/immich-unraid-manual/setup-immich-server/ I'm not seeing anything about updating from previous versions to V3.

Is this the post that you're saying you made a guide? https://forums.unraid.net/topic/198609-immich/#findComment-1630515

I'm a little lost...

Official or not is your call. I prefer official, but it's 4 docker to manager. This docker is aio with machine learning, still require redis/vaulkey and PostgreSQL docker. But it's not supported by immich.

As for migrating, I'm not aware of special migration path, but you should maybe look at the FAQ from immich website and see if there's something about moving from 1 to 3. Maybe you need to go at 2 first.

There is 2 guide I'm talking about. The first one I talk about is from immich not rorar. It's written in the log of immich PostgreSQL container when you start it. It talk about vector unsupported and shoe you how to migrate to latest version of official immich PostgreSQL container. I don't have the link to that, it's written in the log.

My guide is how to migrate from this support container to the official container. It is the last link you put. Just before that guide, I made another post on how to move to latest immich PostgreSQL but I highly suggest following the upgrade link in the immich PostgreSQL startup log.

Just saw your edit.

What you said about PostgreSQL look like what you must do. For the dumb, I would just trigger the backup in immich itself instead so you have a working per immich backup. Just change the next run time to 2 minutes later and it will run.

Once you have move to that PostgreSQL, start immich with same version, do not update. Backup again. You can then move to latest PostgreSQL after (the one you linked isn't latest but it's a step you need to do).

It is also required to do those step if you want to move to official.

Also, if in your PostgreSQL container, you used a custom username like immich instead of postgres, I suggest you do the username migration I put in the FAQ of my post. Immich maintener doesn't support custom username. It's very easy to do. And required if you want to go official.

Edited by Nodiaque

1 hour ago, Nodiaque said:

Just saw your edit.

What you said about PostgreSQL look like what you must do. For the dumb, I would just trigger the update in immich itself instead so you have a working per immich backup. Just change the next run time to 2 minutes later and it will run.

Once you have move to that PostgreSQL, start immich with same version, do not update. Backup again. You can then move to latest PostgreSQL after (the one you linked isn't latest but it's a step you need to do).

It is also required to do those step if you want to move to official.

Also, if in your PostgreSQL container, you used a custom username like immich instead of postgres, I suggest you do the username migration I put in the FAQ of my post. Immich maintener doesn't support custom username. It's very easy to do. And required if you want to go official.

When you say trigger the update in Immich, do you mean in Unraid under the docker page? I don't see the option Inside the immich UI to update the version?

I'm so lost. If I want to keep the same container Immich, should I first try and replace the repository of the PostgreSQL, and then see if it works with my existing Immich 1.143.1 version?

Start by updating your Sql to latest version following official guide posted in the startup log of the postgres container. Backup between each step.

Once you are done, update the immich container and that's it.

You cannot just replace to whatever container you want for postgres, you have chance to corrupt or be in a weirs state. Follow the official guide.

Edit: I did wrote a typo. I see I said trigger the update in immich when I was talking about the backup. Sorry for that, I mean instead of doing an unsupported dumb, trigger the immich built-in backup instead.

I've fixed my typo

Edited by Nodiaque

Ok thanks. So if I want to continue using the existing installation of the Immich docker and PostgreSQL, can I do as I wrote?


replace the existing repository field on PostgreSQL_Immich container, to
ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.3.0 Matching both the pg16 and the 0.3.0 pgvecto.rs version.


?

Edited by Nettuno

For that exact info, refer to the upgrade guide posted in the postgres container log

For anyone reading this, here's an update:

I did all my backups on unraid using Krusader, to copy all my photos and videos to a second drive. Did the same for the Backups folder (this contains the database dumps Immich does automatically every night).

Then, I stopped Immich and PostgreSQL, changed the repository to what I wrote above. Hit apply, and let it do its thing. Once it restarted, I waited until it showed (healthy) on the docker page. I then checked Immich 1.143.1 worked with the new PostgreSQL..it did.

So then I stopped Immich docker, and hit update. Let it do its thing. Once finished, I watched the logs and saw it was migrating and doing stuff. Once it finished (about 5 minutes) I opened Immich and it works.

Super easy. Thanks for your help Nodiaque. I didn't end up doing much other than what I wrote in my previous posts, so very straight forward!

Now what you can do is update to latest version of postgresql. The latest is ghcr.io/immich-app/postgres:18-vectorchord0.5.3-pgvector0.8.1. The version you currently have is a stepping stone because you had an older version.

Do make a backup before. Easy way is stop the database, copy appdata and do the job. If something happen, just stop, change container info, copy back the backup and start.

Also, check database log. If you are user other then postgres in your database, it could fail the update (some job after the database is ran using postgres user. I already opened a ticket on that). Easy way is simply to open a backup file using the FAQ procedure and run a restore database on a DB container (with updated configuration in immich container to for the database user).

You can try without changing the username and see what happen. The database log will show you. Good thing with that is it's easy to restore.

Please direct me to the correct location if I am posting this in the wrong thread.

I LOVE immich but I have been frustrated setting up paths to Postgres among other challenges. My immich container recently failed silently in the background after App Data Backup plugin applied an auto update. I have since turned off auto updates for immich and postgres.

Here is an AI assisted summary of my 8 hour troubleshooting quest:

Recovering an Immich Database After a PostgreSQL Vector Extension Failure on Unraid

I recently ran into a difficult Immich upgrade issue that left the application stuck in a crash loop even though all photos were still present in the database.

Symptoms

  • Immich would not start.

  • Logs contained errors similar to:

could not access file "$libdir/vectors": No such file or directory
  • The database still contained all assets and migrations, but the application crashed during startup.

Root Cause

The PostgreSQL database had been created using the older vectors extension. After upgrading to the current Immich PostgreSQL image, the database contained:

  • vector

  • vchord

but the old vectors extension library no longer existed. Two tables (face_search and smart_search) still depended on that obsolete extension, preventing Immich from starting.

What Fixed It

Instead of rebuilding the library from scratch, I:

  1. Verified the database still contained all assets.

  2. Exported the database.

  3. Removed the obsolete vectors extension and its dependent search tables from the dump.

  4. Restored the dump into a clean PostgreSQL database using the official Immich PostgreSQL image.

  5. Confirmed the database contained the correct extensions:

    • vector

    • vchord

  6. Ran immich-admin schema-check, which identified the missing search tables and generated the SQL needed to recreate:

    • face_search

    • smart_search

    • face_index

    • clip_index

  7. Restarted Immich.

The application started normally, and all photos, albums, users, and metadata were preserved.

Lessons Learned

  • Your photo library may still be completely intact even if Immich won't start.

  • Always verify the database before assuming it's corrupted. I spent WAY too long checking the DB. I should have moved on after a few targeted checks.

  • Keep PostgreSQL on the official Immich-supported image and avoid mixing database images during upgrades.

  • If immich-admin schema-check reports schema drift, read it carefully—it can generate the exact SQL needed to repair the database.

Preventing This in the Future

Before upgrading Immich:

  • Make a full backup of your PostgreSQL database.

  • Test major upgrades before deleting old backups.

  • Disable automatic container updates (for example, in the Unraid Appdata Backup plugin or any auto-update tool. Automatic updates can leave you with a broken application before you've had a chance to verify compatibility or create a backup.

A few minutes spent controlling updates is much better than hours recovering a production photo library.

Easy fix? Restore your earlier working backup. Immich also do daily backup (unless you didn't enable backup) so you can simply restore immich backup.

On 7/23/2026 at 4:30 PM, Nodiaque said:

Easy fix? Restore your earlier working backup. Immich also do daily backup (unless you didn't enable backup) so you can simply restore immich backup.

I did indeed attempt a restore but the Postgres extensions still prevented the DB from being read. So that didn't solve the problem, at least for my case.

If I had known the issue all along I MIGHT have reverted back to an earlier working version of Postgres. However, the final solution I posted was also acceptable its the only solution I know for sure will work in my limited experience troubleshooting this issue.

Restoring to a working version of your dB at the same version of the container... If you simply restore with the latest version, it's normal the issue is following.

On 5/4/2026 at 11:29 AM, KML said:

What is the correct official way of installing Immich, I tried with help of Ai but no success- I am use the Version 7.3.0-rc.1


The official way is via a Compose plugin in the CA.

steps are here for offical install
https://bmartino1.weebly.com/immich-on-unraid-docker-compose-guide.html

if you don't want to mess with compose the Immich maintainers' preferred way you can follow this and install and run via CA.
https://bmartino1.weebly.com/immich-on-unraid-ca-docker.html

postgress is the main items that has been changed.
https://github.com/immich-app/base-images/pkgs/container/postgres/versions?filters%5Bversion_type%5D=tagged

Redis is no more bitnami was bought out use valkey instead...

18 hours ago, bmartino1 said:


The official way is via a Compose plugin in the CA.

steps are here for offical install
https://bmartino1.weebly.com/immich-on-unraid-docker-compose-guide.html

if you don't want to mess with compose the Immich maintainers' preferred way you can follow this and install and run via CA.
https://bmartino1.weebly.com/immich-on-unraid-ca-docker.html

postgress is the main items that has been changed.
https://github.com/immich-app/base-images/pkgs/container/postgres/versions?filters%5Bversion_type%5D=tagged

Redis is no more bitnami was bought out use valkey instead...

This is one way using this docker, that is all in one with the machine learning and doesn't use official image. The guide I provide some post behind is using all official container using unraid CA. It's replicating Docker Compose way of doing it without the plugin, all with CA. There's even a guide with all the setup for files which, since we are using official docker, we can now use all env variables properly. The choice is to the user in the end. I made the switch so I now have full support from Immich dev.

3 hours ago, Nodiaque said:

This is one way using this docker, that is all in one with the machine learning and doesn't use official image. The guide I provide some post behind is using all official container using unraid CA. It's replicating Docker Compose way of doing it without the plugin, all with CA. There's even a guide with all the setup for files which, since we are using official docker, we can now use all env variables properly. The choice is to the user in the end. I made the switch so I now have full support from Immich dev.

Everything I have set up and use is official from Immich GitHub and per there documentations... the manufacturer behind Immich wants unraid users to use Compose; that is the official setup. The CA AIO, as you describe, reuses Space Invaders and the official Immich machine learning and Immich server bundled in 1 container...

They are offical dockers per immich. see offical documentation
https://docs.immich.app/install/unraid/

Edited by bmartino1
data and spelling.

I know about the doc, I've read it many times. Using the CA is actually not supported, St least when I opened ticket since its not directly their container. It also says right at the start of the doc

  • The Unraid template uses a community made image and is not officially supported by Immich

This is for the aio. It is not official per immich, it's not even supported.

Docker compose plugin is a way.

Doing it manually with the other CA that are separate of each docker from the docker compose yaml is also supported since its the exact same docker as docker compose but with template. I got support on more then one occasion with using only the official docker, using compose or not. This AIO as 0 support from dev.

Edited by Nodiaque

  • 2 weeks later...

Does anyone know if it's possible to use a different folder other than /mnt/user/Photos/ when setting up the Immich container? Because when I tried to use /mnt/user/Photos/Immich (on a brand new install) for example, the webUI refuses to load.

Thanks.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.