Vraag


  • Flying Bobman
  • Registratie: November 2006
  • Laatst online: 23:56
Al een tijdje probeer ik Immich goed op te zetten op een Synology DS224+ NAS. Immich werkt, maar komt wel met een probleem: zo ongeveer elke 5s wordt er iets weggeschreven naar de HDD. De NAS staat in de woonkamer en is normaal gesproken niet hoorbaar, ook niet met streamen van media. Enkel deze repetitieve activiteit van Immich maakt een heel hard mechanisch geluid. Buiten dat het geluid hinderlijk is, lijkt het me niet goed voor de wear & tear van de HDD. De NAS wordt grote delen van de dag niet gebruikt en mijn voorkeur gaat uit naar een spindown van de HDD's. Dit wordt voorkomen door het gedrag van Immich.

Wat heb ik geprobeerd
Healthchecks van de verschillende containers uitgeschakeld. Geen verandering.
Logging uitgezet in de Immich settings.
Machine learning availability check uit.
Postgres autovacuum uit (via postgres config file).
Postgres stats allemaal uit (via postgres config file).
Immich geinstalleerd op een externe SSD. De postgres database draait nu extern en niet meer op de HDD. Alleen de foto library staat op het HDD volume.

Ondanks dit alles is er nog steeds elke paar seconden I/O op het HDD volume. Wat zou ik nog meer kunnen proberen? Dank voor alle hulp.

Docker YAML
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
name: immich

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    extends:
       file: hwaccel.transcoding.yml
       service: quicksync
    volumes:
      # Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file
      - ${UPLOAD_LOCATION}:/data
      - /etc/localtime:/etc/localtime:ro
    env_file:
      - .env
    ports:
      - '2283:2283'
    depends_on:
      - redis
      - database
    restart: always
    healthcheck:
      disable: true

  immich-machine-learning:
    container_name: immich_machine_learning
    # For hardware acceleration, add one of -[armnn, cuda, rocm, openvino, rknn] to the image tag.
    # Example tag: ${IMMICH_VERSION:-release}-cuda
    image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
    # extends: # uncomment this section for hardware acceleration - see https://docs.immich.app/features/ml-hardware-acceleration
    #   file: hwaccel.ml.yml
    #   service: cpu # set to one of [armnn, cuda, rocm, openvino, openvino-wsl, rknn] for accelerated inference - use the `-wsl` version for WSL2 where applicable
    volumes:
      - model-cache:/cache
    env_file:
      - .env
    restart: always
    healthcheck:
      disable: true

  redis:
    container_name: immich_redis
    image: docker.io/valkey/valkey:8@sha256:81db6d39e1bba3b3ff32bd3a1b19a6d69690f94a3954ec131277b9a26b95b3aa
    healthcheck:
      disable: true
    #  test: redis-cli ping || exit 1
    restart: always

  database:
    container_name: immich_postgres
    image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
      POSTGRES_INITDB_ARGS: '--data-checksums'
      # Uncomment the DB_STORAGE_TYPE: 'HDD' var if your database isn't stored on SSDs
      # DB_STORAGE_TYPE: 'HDD'
    volumes:
      # Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file
      - ${DB_DATA_LOCATION}:/var/lib/postgresql/data
    shm_size: 128mb
    restart: always

volumes:
  model-cache:

ENV
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# The location where your uploaded files are stored
UPLOAD_LOCATION=/volume1/data/media/photos

# The location where your database files are stored. Network shares are not supported for the database
DB_DATA_LOCATION=./postgres

# To set a timezone, uncomment the next line and change Etc/UTC to a TZ identifier from this list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List
# TZ=America/Lima

# The Immich version to use. You can pin this to a specific version like "v1.71.0"
IMMICH_VERSION=v2.3.1

# Connection secret for postgres. You should change it to a random password
# Please use only the characters `A-Za-z0-9`, without special characters or spaces
DB_PASSWORD=blablabla

# The values below this line do not need to be changed
###################################################################################
DB_USERNAME=postgres
DB_DATABASE_NAME=immich