How to Install Immich on Your Synology NAS

How to Install Immich on Your Synology 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 Synology 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 Synology NAS using Docker and Portainer.

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

šŸ’”Note: Check out my new guide on how to Install Immich on Your UGREEN NAS.

  • 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 Synology NAS, skip this STEP. Attention: Make sure you have installed the latest Portainer version.

  • STEP 3

Go toĀ File StationĀ 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 Synology NAS Set up 1

  • STEP 4

Now create six new folders inside the immich folder that you created at STEP 3 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 Synology NAS Set up 2 new 2026

  • STEP 5

Log into Portainer using your username and password. On the left sidebar in Portainer, click on Home thenĀ Live connect. Follow the instructions in the image below.

Portainer Add Stack NAS 1

On the left sidebar in Portainer, click on StacksĀ thenĀ + Add stack. Follow the instructions in the image below.

Portainer Add Stack NAS 2

  • STEP 6

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: 1026:100
    environment:
      - TZ=Europe/Bucharest
    volumes:
      - /volume1/docker/immich/redis:/data:rw
    restart: on-failure:5

  immich-db:
    image: ghcr.io/immich-app/postgres:16-vectorchord0.3.0-pgvectors0.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
      #- DB_STORAGE_TYPE=HDD #Remove the red # in front of the – DB_STORAGE_TYPE=HDD if your database isn’t stored on SSDs.
    restart: on-failure:5

  immich-server:
    image: ghcr.io/immich-app/immich-server:release
    container_name: Immich-SERVER
    hostname: immich-server
    user: 1026:100
    security_opt:
      - no-new-privileges:true
    env_file:
      - stack.env
    ports:
      - 8212:2283
    volumes:
      - /volume1/docker/immich/upload:/data: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: 1026:100
    security_opt:
      - no-new-privileges:true
    env_file:
      - stack.env
    volumes:
      - /volume1/docker/immich/upload:/data:rw
      - /volume1/docker/immich/cache:/cache:rw
      - /volume1/docker/immich/cache:/.cache:rw
      - /volume1/docker/immich/cache:/.config: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.) 1026 is my personal UID value and 100 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.)
Note: Remove the red # in front of the – DB_STORAGE_TYPE=HDDĀ if your database isn’t stored on SSDs.

Immich Synology NAS Set up 1 new 2035

  • STEP 7

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

Env Variables Portainer

  • STEP 8

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 Synology NAS Set up 2 new 2035

  • STEP 9

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

Immich Synology NAS Set up 3 new 2035

  • STEP 10

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 Synology NAS Set up 4 new 2036

  • STEP 11

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

Portainer Success Stack NAS

  • STEP 12

Please Support My work by Making a Donation. Almost 99,9% of the people that install something using my guidesĀ forget to support my work, or justĀ ignoreĀ STEP 1. I’ve been very honest about this aspect of my work since the beginning: I don’t run any ADS, I don’t require subscriptions, paid or otherwise, I don’t collect IPs, emails, and I don’t have any referral links from Amazon or other merchants. I also don’t have any POP-UPs or COOKIES. I have repeatedly been told over the years how much I have contributed to the community. It’s something I love doing and have been honest about my passion since the beginning. But I also Need The Community to Support me Back to be able to continue doing this work.

  • STEP 13

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://Synology-ip-address:8212 Click Getting Started. Follow the instructions in the image below.

Immich Synology NAS Set up 9 new 2030

  • STEP 14

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

Immich Synology NAS Set up 10 new 2030

  • STEP 15

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

Immich Synology NAS Set up 11 new 2030

  • STEP 16

Click Theme. Follow the instructions in the image below.

Immich Synology NAS Set up 12 new 2030

  • STEP 17

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

Immich Synology NAS Set up 13 new2 2031

  • STEP 18

Select your own Language, then click Server Privacy. Follow the instructions in the image below.

Immich Synology NAS Set up 14 new2 2031

  • STEP 19

Turn on the Map and the Version Check, then click User Privacy. Follow the instructions in the image below.

Immich Synology NAS Set up 15 new2 2031

  • STEP 20

Click Storage Template. Follow the instructions in the image below.

Immich Synology NAS Set up 16 new2 2031

  • STEP 21

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

Immich Synology NAS Set up 15 new 2026

  • STEP 22

Click Backups. Follow the instructions in the image below.

Immich Synology NAS Set up 5 new 2035

  • STEP 23

Click Done. Follow the instructions in the image below.

Immich Synology NAS Set up 6 new 2035

  • STEP 24

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

Immich Synology NAS Set up 18 new2 2031

  • STEP 25

Watch your favorite video!

Immich Synology NAS Set up 19 new2 2031

  • STEP 26

Set Up Email Notifications on Immich.

  • STEP 27

Run Immich via HTTPSĀ so that you can use it even when you are not at home.

Enjoy Immich!

šŸ†˜TROUBLESHOOTING

āš ļøNote: If you encounter permission issues and not all containers are starting, ensure that your current NAS user has Read/Write permissions for the Docker folder in Control Panel > User & Group > Select the current NAS user > Edit tab > Permissions tab. You can also try to add Everyone read/write permission to the immich folder like this other article from STEP 5 to STEP 9.
āš ļøNote: If you encounter connection issues, make sure Firewall RULE 6 has been added to your Synology NAS Firewall rules. Check out Firewall Rule 6 in my STEP by STEP article.
āš ļøNote: If you have a Synology NAS from the DS 20x series, like the DS220+, DS920+, DS720+ and DS423+, make sure to use the redis:6 image instead of the redis image. So, at STEP 6, change the following line:

image: redis

with

image: redis:6

Then update the stack in Portainer.

If you encounter issues by using this container, make sure to check out the Common Docker issuesĀ article.

Note: Can I run Docker on my Synology NAS?Ā See the supported models.
Note: How to Back Up Docker Containers on your Synology NAS.
Note: Find outĀ how to update the Immich container with the latest image.
Note: How to Free Disk Space on Your NAS if You Run Docker.
Note: How to Schedule Start & Stop For Docker Containers.
Note: How to Activate Email Notifications.
Note: How to Add Access Control Profile on Your NAS.
Note: How to Change Docker Containers Restart Policy.
Note: How to Use Docker Containers With VPN.
Note: Convert Docker Run Into Docker Compose.
Note: How to Clean Docker.
Note: How to Clean Docker Automatically.
Note: Best Practices When Using Docker and DDNS.
Note: Some Docker Containers Need WebSocket.
Note: Find out the Best NAS Models For Docker.
Note: Activate Gmail SMTP For Docker Containers.

This post was updated on Wednesday / August 27th, 2025 at 12:01 AM