Skip to main content

Unraid

Immich can easily be installed and updated on Unraid via:

  1. Docker Compose Manager plugin from the Unraid Community Apps
  2. Community made template on the Unraid Community Apps

Community Applications Template

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

In order to install Immich from the Unraid CA, you will need an existing Redis and PostgreSQL 14 container, If you do not already have Redis or PostgreSQL you can install them from the Unraid CA, just make sure you choose PostgreSQL 14.

Once you have Redis and PostgreSQL running, search for Immich on the Unraid CA, choose either of the templates listed and fill out the example variables.

For more information about setting up the community image see here

Docker-Compose Method (Official)

info
  • Guide was written using Unraid v6.12.10.
  • Requires you to have installed the plugin: Docker Compose Manager
  • An Unraid share created for your images
  • There has been a report of this not working if your Unraid server doesn't support AVX (e.g. using a T610)

Installation Steps

  1. Go to "Plugins" and click on "Compose.Manager"
  2. Click "Add New Stack" and when prompted for a label enter "Immich"
Select Plugins > Compose.Manager > Add New Stack > Label it Immich
  1. Select the cogwheel ⚙️ next to Immich and click "Edit Stack"

  2. Click "Compose File" and then paste the entire contents of the Immich Docker Compose file into the Unraid editor. Remove any text that may be in the text area by default. Note that Unraid v6.12.10 uses version 24.0.9 of the Docker Engine, which does not support healthcheck start_interval as defined in the database service of the Docker compose file (version 25 or higher is needed). This parameter defines an initial waiting period before starting health checks, to give the container time to start up. Commenting out the start_interval and start_period parameters will allow the containers to start up normally. The only downside to this is that the database container will not receive an initial health check until interval time has passed.

    Using an existing Postgres container? Click me! Otherwise proceed to step 5.
    • Comment out the database service
    • Comment out database service in the compose file
    • Comment out the database dependency for each service (example in screenshot below only shows 2 of the services - ensure you do this for all services)
    • Comment out every reference to the database service in the compose file
    • Comment out the volumes
    • Comment out database volume
  3. Click "Save Changes", you will be promoted to edit stack UI labels, just leave this blank and click "Ok"

  4. Select the cog ⚙️ next to Immich, click "Edit Stack", then click "Env File"

  5. Paste the entire contents of the Immich example.env file into the Unraid editor, then before saving edit the following:

    • UPLOAD_LOCATION: Create a folder in your Images Unraid share and place the absolute location here > For example my "images" share has a folder within it called "immich". If I browse to this directory in the terminal and type pwd the output is /mnt/user/images/immich. This is the exact value I need to enter as my UPLOAD_LOCATION

    • DB_DATA_LOCATION: Change this to use an Unraid share (preferably a cache pool, e.g. /mnt/user/appdata). If left at default it will try to use Unraid's /boot/config/plugins/compose.manager/projects/[stack_name]/postgres folder which it doesn't have permissions to, resulting in this container continuously restarting.

      Absolute location of where you want immich images stored
    Using an existing Postgres container? Click me! Otherwise proceed to step 8.

    Update the following database variables as relevant to your Postgres container:

    • DB_HOSTNAME
    • DB_USERNAME
    • DB_PASSWORD
    • DB_DATABASE_NAME
    • DB_PORT
  6. Click "Save Changes" followed by "Compose Up" and Unraid will begin to create the Immich containers in a popup window. Once complete you will see a message on the popup window stating "Connection Closed". Click "Done" and go to the Unraid "Docker" page

    Note: This can take several minutes depending on your Internet speed and Unraid hardware

  7. Once on the Docker page you will see several Immich containers, one of them will be labelled immich_server and will have a port mapping. Visit the IP:PORT displayed in your web browser and you should see the Immich admin setup page.

Go to Docker Tab and visit the address listed next to immich-web
Using the FolderView plugin for organizing your Docker containers? Click me! Otherwise you're complete!

If you are using the FolderView plugin go the Docker tab and select "New Folder".
Label it "Immich" and use this URL as the logo: https://raw.githubusercontent.com/immich-app/immich/main/design/immich-logo.png
Then simply select all the Immich related containers before clicking "Submit"

Go to Docker Tab and visit the address listed next to immich-webGo to Docker Tab and visit the address listed next to immich-web
tip

For more information on how to use the application once installed, please refer to the Post Install guide.

Updating Steps

Updating is extremely easy however it's important to be aware that containers managed via the Docker Compose Manager plugin do not integrate with Unraid's native dockerman UI, the label "update ready" will always be present on containers installed via the Docker Compose Manager.

Docker Compose containers always say update ready, ignore it

You should ignore the "update ready" on the Unraid WebUI and update when you receive the notification within the Immich WebUI.

Immich update notification
  1. Go to the "Docker" tab and scroll to the Compose section
  2. Next to Immich click the "Update Stack" button and Unraid will begin to update all Immich related containers

    Note: Do not select Compose Down first, it is unnecessary.

  3. Once complete you will see a "Connection Closed" message, select "Done". Wait for Connection Closed and click Done
  4. Return back to the Immich WebUI and you will see the version has been updated to the latest Wait for Connection Closed and click Done