How to Install Immich on Your UGREEN NAS

How to Install Immich on Your UGREEN NAS

Immich is a very high performance self-hosted photo and video backup solution directly from your mobile phone. You can run Immich on your UGREEN NAS and it lets you upload photos and videos from your browser or mobile phone via the dedicated Android Immich appĀ or the iOS Immich app. The Immich user interface feels like Google Photos, especially if you are using the mobile apps. In this step by step guide I will show you how to install Immich on your UGREEN NAS using Docker and Portainer.

šŸ’”Note: This guide works perfectly with the latest Immich v1.121.0 release.

  • STEP 1

Please Support My work by Making a Donation.

  • STEP 2

InstallĀ Portainer using my step by step guide. If you already have Portainer installed on your UGREEN NAS, skip this STEP. Attention: Make sure you have installed the latest Portainer version.

  • STEP 3

Add Read & Write Permissions to the Docker Folder. If you have already added the Read and Write Permissions to the Docker Folder, skip this STEP.

  • STEP 4

Go toĀ File ManagerĀ and open the docker folder. Inside the docker folder, create one new folder and name itĀ immich. Follow the instructions in the image below.
Note: Be careful to enter only lowercase, not uppercase letters.

Immich UGREEN NAS Set up 1

  • STEP 5

Now create five new folders inside the immich folder that you created at STEP 4 name them cache,Ā db, matplotlib, micro, redis, upload. Follow the instructions in the image below.
Note: Be careful enter only lowercase, not uppercase letters.

Immich UGREEN NAS Set up 2 new 2025

  • STEP 6

Log into Portainer using your username and password. On the left sidebar in Portainer, click on StacksĀ thenĀ + Add stack. Follow the instructions in the image below.

UGREEN NAS Portainer Add Stack

  • STEP 7

In the Name field type in immich. Follow the instructions in the image below.

Note: Copy Paste the code below in the Portainer Stacks Web editor.

services:
  immich-redis:
    image: redis
    container_name: Immich-REDIS
    hostname: immich-redis
    security_opt:
      - no-new-privileges:true
    healthcheck:
      test: ["CMD-SHELL", "redis-cli ping || exit 1"]
    user: 999:10
    environment:
      - TZ=Europe/Bucharest
    volumes:
      - /volume1/docker/immich/redis:/data:rw
    restart: on-failure:5

  immich-db:
    image: tensorchord/pgvecto-rs:pg16-v0.2.0
    container_name: Immich-DB
    hostname: immich-db
    security_opt:
      - no-new-privileges:true
    healthcheck:
      test: ["CMD", "pg_isready", "-q", "-d", "immich", "-U", "immichuser"]
      interval: 10s
      timeout: 5s
      retries: 5
    volumes:
      - /volume1/docker/immich/db:/var/lib/postgresql/data:rw
    environment:
      - TZ=Europe/Bucharest
      - POSTGRES_DB=immich
      - POSTGRES_USER=immichuser
      - POSTGRES_PASSWORD=immichpw
    restart: on-failure:5

  immich-server:
    image: ghcr.io/immich-app/immich-server:release
    container_name: Immich-SERVER
    hostname: immich-server
    user: 999:10
    security_opt:
      - no-new-privileges:true
    env_file:
      - stack.env
    ports:
      - 8212:2283
    volumes:
      - /volume1/docker/immich/upload:/usr/src/app/upload:rw
    restart: on-failure:5
    depends_on:
      immich-redis:
        condition: service_healthy
      immich-db:
        condition: service_started

  immich-machine-learning:
    image: ghcr.io/immich-app/immich-machine-learning:release
    container_name: Immich-LEARNING
    hostname: immich-machine-learning
    user: 999:10
    security_opt:
      - no-new-privileges:true
    env_file:
      - stack.env
    volumes:
      - /volume1/docker/immich/upload:/usr/src/app/upload:rw
      - /volume1/docker/immich/cache:/cache:rw
      - /volume1/docker/immich/matplotlib:/matplotlib:rw
    environment: 
      - MPLCONFIGDIR=/matplotlib
    restart: on-failure:5
    depends_on:
      immich-db:
        condition: service_started

Note: Before you paste the code above in the Web editor area below, change the value numbers for user with your own UID and GID values. (Follow my step by step guide on how to do this.) 999 is my personal UID value and 10Ā is my personal GID value. You have to type in your own values.
Note: Before you paste the code above in the Web editor area below, change the value for TZ.Ā (Select your current Time Zone from this list.)

Immich UGREEN NAS Set up 3 new 2025

  • STEP 8

Click the Upload button after Web editor. Download the stack.env file by clicking the blue link below and then upload it from your computer in the “Load variables from .env files“. Follow the instructions in the image below. šŸ”’Note: Support my work to unlock the password. You can use this password to download any file on mariushosting forever!

šŸ‘‰šŸ»Download stack.env file

Immich UGREEN NAS Set up 4

  • STEP 9

Add your own Time Zone value. In my case, Europe/Bucharest. (Select your current Time Zone from this list.) Follow the instructions in the image below.

Immich UGREEN NAS Set up 5

  • STEP 10

After you make the change and add your own TZ value at STEP 9, click the Web editor button. Follow the instructions in the image below.

Immich UGREEN NAS Set up 6 new 2025

  • STEP 11

It’s also recommended to change the JWT_SECRET environment variable with your own auto 128 length generated one. Scroll down on the page until you see a button named Deploy the stack. Click on it. Follow the instructions in the image below. The installation process can take up to a few minutes. It will depend on your Internet speed connection. Note: Immich requires approximately 4 GB of image files to be downloaded.

Immich UGREEN NAS Set up 7 new 2025

āŒ›Now just wait because the Immich image is about 4GB.

  • STEP 12

If everything goes right, you will see the following message at the top right of your screen: ā€œSuccess Stack successfully deployedā€œ.

Immich UGREEN NAS Set up 8

  • STEP 13

Go back toĀ STEP 1Ā or you will deal with karma šŸ™‚

  • STEP 14

Please wait approximately 2 minutes for the installation to be completed or you will get a blank page if you try to connect too soon. The installation process can take up to a few seconds/minutes. It will depend on your Internet speed connection. Now open your browser and type in http://ugreennas-ip-address:8212Ā Click Getting Started. Follow the instructions in the image below.

Immich UGREEN NAS Set up 9

  • STEP 15

Add your own credentials then click Sign Up. Follow the instructions in the image below.

Immich UGREEN NAS Set up 10

  • STEP 16

Add your own Email and Password that you have previously created at STEP 15. Click Login. Follow the instructions in the image below.

Immich UGREEN NAS Set up 11

  • STEP 17

Click Theme. Follow the instructions in the image below.

Immich UGREEN NAS Set up 12

  • STEP 18

Choose a color theme for your instance, then click Privacy. Follow the instructions in the image below.

Immich UGREEN NAS Set up 13 new 2025

  • STEP 19

Turn on the Map and the Version Check then click Storage Template. Follow the instructions in the image below.

Immich UGREEN NAS Set up 14 new 2025

  • STEP 20

Enable or Disable the storage template engine, then scroll down the page. Follow the instructions in the image below.

Immich UGREEN NAS Set up 15 new 2025

  • STEP 21

Click Done. Follow the instructions in the image below.

Immich UGREEN NAS Set up 16 new 2025

  • STEP 22

Click Upload to start uploading your own photos and videos. Your Immich Dashboard at a glance! Follow the instructions in the image below.

Immich UGREEN NAS Set up 17 new 118

Your photos at a glance!

Immich UGREEN NAS Set up 18 new 118

  • STEP 23

You can also use the upload button to upload videos.

Immich UGREEN NAS Set up 16

Enjoy Immich on your UGREEN NAS!

This post was updated on Saturday / November 23rd, 2024 at 11:33 AM