Secure Your Memories: Immich Dockge Installation Guide

Learn how to install Immich on Dockge for a self-hosted photo and video backup solution directly from your mobile phone. Protect your precious memories effortlessly!

About: Self-hosted photo and video backup solution directly from your mobile phone.

Hi dragonfire1119,

Thanks for the great video. I copied your yml into dockge and it works. One more question I have is how I can modify the yml file to set up the immich access to external library. I have a folder “/mnt/NAS10T/Photos” on my NAS that stores all my original photos and videos.

I tried to add:
immich-server: volumes:
# Mounting directories for persistent data storage
- /mnt/NAS10T/Photos:/usr/src/app/external

But it doesn’t seem to scan my library. Any help would be highly appreciated!

Best,

sean

Hello seanchs,

Have you seen this tutorial:

I checked out the tutorial but still can’t make it work. Below is what I have. Appreciate your generous help!

The xompose.yml in dockge:
services:
immich-server:
container_name: immich-server # Name of the running container
volumes:
# Mounting directories for persistent data storage
- immich_upload:/usr/src/app/upload
- ${EXTERNAL_PATH}:/usr/src/app/external
immich-microservices:
volumes:
# Mounting directories for persistent data storage
- immich_upload:/usr/src/app/upload
- ${EXTERNAL_PATH}:/usr/src/app/external

As for the enviroment variables, I am not sure where to put it. I noticed at the bottom of dockge, there is a block “.env” (sorry I can’t attach the screenshot). Below is what I added:
EXTERNAL_PATH=/mnt/NAS10T/Photos

On the Immich Web GUI, I added import path:
/usr/src/app/external

You’re welcome!

Here is an example:

version: '3.8'

services:
  immich-server:
    container_name: immich-server
    image: your-docker-image-for-immich-server # replace with the actual image name
    volumes:
      - immich_upload:/usr/src/app/upload
      - /mnt/NAS10T/Photos:/usr/src/app/external
    environment:
      DB_HOSTNAME: immich-postgres
      DB_USERNAME: dockge
      DB_PASSWORD: dockge
      DB_DATABASE_NAME: immich
      DB_PORT: 5432
      REDIS_HOSTNAME: immich-redis
      IMMICH_MACHINE_LEARNING_URL: http://immich-machine-learning:3003
      EXTERNAL_PATH: /mnt/NAS10T/Photos

  immich-microservices:
    container_name: immich-microservices
    image: your-docker-image-for-immich-microservices # replace with the actual image name
    volumes:
      - immich_upload:/usr/src/app/upload
      - /mnt/NAS10T/Photos:/usr/src/app/external
    environment:
      DB_HOSTNAME: immich-postgres
      DB_USERNAME: dockge
      DB_PASSWORD: dockge
      DB_DATABASE_NAME: immich
      DB_PORT: 5432
      REDIS_HOSTNAME: immich-redis
      IMMICH_MACHINE_LEARNING_URL: http://immich-machine-learning:3003
      EXTERNAL_PATH: /mnt/NAS10T/Photos

volumes:
  immich_upload:

Copied your example syntax to the compose.yaml. Got an error message when trying to save the yaml:

environment:
  # Setting environment variables
  DB_HOSTNAME: immich-postgres
  DB_USERNAME: dockge
  DB_PASSWORD: dockge
  DB_DATABASE_NAME: immich
  DB_PORT: 5432
  REDIS_HOSTNAME: immich-redis
  IMMICH_MACHINE_LEARNING_URL: http://immich-machine-learning:3003
  - EXTERNAL_PATH=/mnt/NAS10T/Photos

seems the syntax is not correct. I removed the “-” in the beginning but still won’t work.

It was correct, but it didn’t go with the syntax of the rest. I changed it to Dictionary Format instead of list format.

version: '3.8'

services:
  immich-server:
    container_name: immich-server
    image: your-docker-image-for-immich-server # replace with the actual image name
    volumes:
      - immich_upload:/usr/src/app/upload
      - /mnt/NAS10T/Photos:/usr/src/app/external
    environment:
      DB_HOSTNAME: immich-postgres
      DB_USERNAME: dockge
      DB_PASSWORD: dockge
      DB_DATABASE_NAME: immich
      DB_PORT: 5432
      REDIS_HOSTNAME: immich-redis
      IMMICH_MACHINE_LEARNING_URL: http://immich-machine-learning:3003
      EXTERNAL_PATH: /mnt/NAS10T/Photos

  immich-microservices:
    container_name: immich-microservices
    image: your-docker-image-for-immich-microservices # replace with the actual image name
    volumes:
      - immich_upload:/usr/src/app/upload
      - /mnt/NAS10T/Photos:/usr/src/app/external
    environment:
      DB_HOSTNAME: immich-postgres
      DB_USERNAME: dockge
      DB_PASSWORD: dockge
      DB_DATABASE_NAME: immich
      DB_PORT: 5432
      REDIS_HOSTNAME: immich-redis
      IMMICH_MACHINE_LEARNING_URL: http://immich-machine-learning:3003
      EXTERNAL_PATH: /mnt/NAS10T/Photos

volumes:
  immich_upload:

Tried your code but unfortunately still No luck. I also set up via Immich web UI for the external library path. This is a bit mysterious to me now…