services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:release
    volumes:
      - ./library:/usr/src/app/upload # Основная папка с фото и видео материалами
      # Дополнительные папки для внешних библиотек. Создайте столько сколько будет у вас пользователей.
      - /volume1/external/user1:/usr/src/app/external/user1
      - /volume1/external/user2:/usr/src/app/external/user2
      - /volume1/external/user3:/usr/src/app/external/user3
      # - /etc/localtime:/etc/localtime:ro
    user: 1024:100 # Этот параметр только для Synology DSM, установите решетку в начале строки для других ОС
    environment:
      - DB_PASSWORD=immich_postgres
      - DB_HOSTNAME=immich_postgres
      - DB_USERNAME=immich
      - DB_DATABASE_NAME=immich
      - REDIS_HOSTNAME=immich_redis
      - POSTGRES_PASSWORD=immich_postgres
      - POSTGRES_DB=immich
      - POSTGRES_USER=immich
    ports:
      - 2283:2283
    depends_on:
      - immich_redis
      - immich_postgres
    restart: always

  immich-machine-learning:
    container_name: immich_machine_learning
    image: ghcr.io/immich-app/immich-machine-learning:release
    user: 1024:100 # Этот параметр только для Synology DSM, установите решетку в начале строки для других ОС
    environment:
      - DB_PASSWORD=immich_postgres
      - DB_HOSTNAME=immich_postgres
      - DB_USERNAME=immich
      - DB_DATABASE_NAME=immich
      - REDIS_HOSTNAME=immich_redis
      - POSTGRES_PASSWORD=immich_postgres
      - POSTGRES_DB=immich
      - POSTGRES_USER=immich
    volumes:
      - /volume1/library:/usr/src/app/upload # Основная папка с фото и видео материалами
      # Дополнительные папки для внешних библиотек. Создайте столько сколько будет у вас пользователей.
      - /volume1/external/user1:/usr/src/app/external/user1
      - /volume1/external/user2:/usr/src/app/external/user2
      - /volume1/external/user3:/usr/src/app/external/user3
      - /volume1/cache:/cache
    restart: always

  immich_redis:
    container_name: immich_redis
    image: redis
    user: 1024:100 # Этот параметр только для Synology DSM, установите решетку в начале строки для других ОС
    volumes:
      - /volume1/redis:/data
    restart: always

  immich_postgres:
    container_name: immich_postgres
    # Если новая установка (рекомендовано)
    image: ghcr.io/immich-app/postgres:14-vectorchord0.3.0-pgvectors0.2.0
    # Если обновление по предыдущей моей инструкции
    #image: ghcr.io/immich-app/postgres:16-vectorchord0.3.0-pgvector0.8.0
    environment:
      - DB_PASSWORD=immich_postgres
      - DB_HOSTNAME=immich_postgres
      - DB_USERNAME=immich
      - DB_DATABASE_NAME=immich
      - REDIS_HOSTNAME=immich_redis
      - POSTGRES_PASSWORD=immich_postgres
      - POSTGRES_DB=immich
      - POSTGRES_USER=immich
    volumes:
      - /volume1/dbdata:/var/lib/postgresql/data
    restart: always

volumes:
  dbdata:
  cache:
  library:

networks:
  immich:
    external: false