TrueNAS AppsTrueNAS Apps: Tutorials
Application maintenance is independent from TrueNAS version release cycles.
App versions, features, options, and installation behavior at time of access might vary from documented tutorials and UI reference.

Immich

Documentation for applications within the Community train is created and maintained by members of the TrueNAS community. The TrueNAS Documentation Hub hosts but does not validate or maintain articles within this section.

Community contributions are highly encouraged! Please see Contributing to TrueNAS Application Documentation to learn how you can assist.

Needs Improvement
This community application tutorial is suspected to be out of date or inaccurate. Please help the TrueNAS community improve it or discuss these issues in the TrueNAS Community forum.

Immich is a self-hosted photo and video backup tool.

Immich integrates photo and video storage with a web portal and mobile app. It includes features such as libraries, automatic backup, bulk upload, partner sharing, Typesense search, facial recognition, and reverse geocoding.

TrueNAS makes installing Immich easy, but you must use the Immich web portal and mobile app to configure accounts and access libraries.

We welcome community contributions to keep this documentation current! Click Edit Page in the top right corner to propose changes to this article. See Updating Content for more information.

First Steps

The Immich app in TrueNAS installs, completes the initial configuration, then starts the Immich web portal. When updates become available, TrueNAS alerts and provides easy updates.

Before installing the TrueNAS Immich app, review the Immich Environment Variables documentation and to see if you want to configure any during installation. You can configure environment variables at any time after deploying the application.

TrueNAS does not need advance preparation.

You can allow TrueNAS to create the datasets Immich requires automatically during app installation. Or before beginning app installation, create the datasets to use in the Storage Configuration section during installation. Immich requires seven datasets: library, pgBackup, pgData, profile, thumbs, uploads, and video. You can organize these as one parent with seven child datasets, for example mnt/tank/immich/library, mnt/tank/immich/pgBackup, and so on.

Installing the Immich Application

To install the Immich application, go to Apps, click Discover Apps, either begin typing Immich into the search field or scroll down to locate the Immich application widget.

Immich App Widget
Figure 1: Immich App Widget

Click on the widget to open the Immich application details screen.

Immich App Details Screen
Figure 2: Immich App Details Screen

Click Install to open the Immich application configuration screen.

Application configuration settings are presented in several sections, each explained below. To find specific fields click in the Search Input Fields search field, scroll down to a particular section or click on the section heading on the navigation area in the upper-right corner.

Install Immich Screen
Figure 3: Install Immich Screen

Accept the default values in Application Name and Version.

Accept the default value in Timezone or change to match your local timezone. Timezone is only used by the Immich exiftool microservice if it cannot be determined from the image metadata.

Accept the default port in Web Port.

Immich requires seven storage datasets. You can allow TrueNAS to create them for you, or use the dataset(s) created in First Steps. Select the storage options you want to use for Immich Uploads Storage, Immich Library Storage, Immich Thumbs Storage, Immich Profile Storage, Immich Video Storage, Immich Postgres Data Storage, Immich Postgres Backup Storage. Select ixVolume (dataset created automatically by the system) in Type to let TrueNAS create the dataset or select Host Path to use the existing datasets created on the system.

Accept the defaults in Resources or change the CPU and memory limits to suit your use case.

Click Install. The system opens the Installed Applications screen with the Immich app in the Deploying state. When the installation completes it changes to Running.

Immich Installed
Figure 4: Immich Installed

Click Web Portal on the Application Info widget to open the Immich web interface to set up your account and begin uploading photos. See Immich Post Install Steps for more information.

Immich Web Portal
Figure 5: Immich Web Portal

Editing the Immich Application

Go to the Installed Applications screen and select Immich from the list of installed applications. Click Edit on the Application Info widget to open the Edit Immich screen. The settings on the edit screen are the same as on the install screen. You cannot edit Storage Configuration paths after the initial app install.

Click Update to save changes. TrueNAS automatically updates, recreates, and redeploys the Immich container with the updated environment variables.

Understanding Immich Settings

The following sections provide more detailed explanations of the settings found in each section of the Install Immich screen.

Application Name Settings

Immich Configuration Settings

You can accept the defaults in the Immich Configuration settings, or enter the settings you want to use.

Immich Configuration Settings
Figure 6: Immich Configuration Settings

Accept the default setting in Timezone or change to match your local timezone. Timezone is only used by the Immich exiftool microservice if it cannot be determined from the image metadata.

You can enter a Public Login Message to display on the login page, or leave it blank.

Networking Settings

Accept the default port numbers in Web Port. The TrueNAS Immich app listens on port 30041.

Refer to the TrueNAS default port list for a list of assigned port numbers. To change the port numbers, enter a number within the range 9000-65535.

Immich Networking
Figure 7: Immich Networking

Storage Settings

You can install Immich using the default setting ixVolume (dataset created automatically by the system) or use the host path option with datasets created before installing the app.

Immich Configure Storage ixVolumes
Figure 8: Immich Configure Storage ixVolumes

Select Host Path (Path that already exists on the system) to browse to and select the datasets.

Immich Host Paths
Figure 9: Immich Host Paths

Resource Configuration Settings

Accept the default values in Resources Configuration or enter new CPU and memory values By default, this application is limited to use no more than 4 CPU cores and 8 gibibytes available memory. The application might use considerably less system resources.

Immich Resource Limits
Figure 10: Immich Resource Limits

To customize the CPU and memory allocated to the container Immich uses, enter new CPU values as a plain integer value followed by the suffix m (milli). Default is 4000m, which means Immich is able to use 4 cores.

Accept the default value 8Gi allocated memory or enter a new limit in bytes. Enter a plain integer followed by the measurement suffix, for example 4G or 123Mi.

Systems with compatible GPU(s) display devices in GPU Configuration. Use the GPU Resource dropdown menu(s) to configure device allocation.

See Allocating GPU for more information about allocating GPU devices in TrueNAS.

Immich Database Backup and Restore

TrueNAS works differently from Immich’s original documentation for database backup and recovery. You can read how to backup and restore the Immich database here