docs/docs/install/unraid.md
Immich can easily be installed and updated on Unraid via:
:::info
:::
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
:::info
:::
Compose.Manager > Add New Stack > Label it Immich" />
Select the cogwheel ⚙️ next to Immich and click "Edit Stack"
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.
<li>Comment out the database dependency for <b>each service</b> <i>(example in screenshot below only shows 2 of the services - ensure you do this for all services)</i></li>
<li>Comment out the volumes</li>
</ul>
Click "Save Changes", you will be prompted to edit stack UI labels, just leave this blank and click "Ok"
Select the cog ⚙️ next to Immich, click "Edit Stack", then click "Env File"
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_LOCATIONDB_DATA_LOCATION: Change this to use an Unraid share (preferably a cache pool, e.g. /mnt/user/appdata/postgresql/data). This uses the appdata share. Do also create the postgresql folder, by running mkdir /mnt/user/{share_location}/postgresql/data. 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.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
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.
:::tip For more information on how to use the application once installed, please refer to the Post Install guide. :::
:::danger Make sure to read the general upgrade instructions. :::
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.
You should ignore the "update ready" on the Unraid WebUI and update when you receive the notification within the Immich WebUI.
Go to the "Docker" tab and scroll to the Compose section
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.
Once complete you will see a "Connection Closed" message, select "Done".
Return back to the Immich WebUI and you will see the version has been updated to the latest