immich-app / immich

High performance self-hosted photo and video management solution.
https://immich.app
GNU Affero General Public License v3.0
45.08k stars 2.18k forks source link

v1.106.4 immich_server keeps restarting #10314

Closed klendgit closed 3 months ago

klendgit commented 3 months ago

The bug

After upgrading to the latest release and carefully fixing my old docker-compose.yml file, the new version keeps restarting ghcr.io/immich-app/immich-server:release Reverting back to the 'old' release v1.105.1 docker-compose.yml and all is fine again. I removed the relevant entries in the docker yml file and aligned entries from the release docker file but the server does not start and does not open any ports

The OS that Immich Server is running on

Linux Mint 21

Version of Immich Server

v1.106.4

Version of Immich Mobile App

n/a

Platform with the issue

Your docker-compose.yml content

#
# WARNING: Make sure to use the docker-compose.yml of the current release:
#
# https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
#
# The compose file on main may not be compatible with the latest release.
#

name: immich

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - ${NIKON_PATH}:/usr/src/app/nikon
      - ${CASIO_PATH}:/usr/src/app/casio
    # - ${EXTERNAL_PATH}:/usr/src/app/external:ro
      - type: bind
        source: ${EXTERNAL_PATH}
        target: /usr/src/app/external
        bind:
          propagation: shared
    env_file:
      - .env
    ports:
      - 2283:3001
    depends_on:
      - redis
      - database
    restart: always

  immich-machine-learning:
    container_name: immich_machine_learning
    # For hardware acceleration, add one of -[armnn, cuda, openvino] 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://immich.app/docs/features/ml-hardware-acceleration
    #   file: hwaccel.ml.yml
    #   service: cpu # set to one of [armnn, cuda, openvino, openvino-wsl] for accelerated inference - use the `-wsl` version for WSL2 where applicable
    volumes:
      - model-cache:/cache
    env_file:
      - .env
    restart: always

  redis:
    container_name: immich_redis
    image: docker.io/redis:6.2-alpine@sha256:d6c2911ac51b289db208767581a5d154544f2b2fe4914ea5056443f62dc6e900
    healthcheck:
      test: redis-cli ping || exit 1
    restart: always

  database:
    container_name: immich_postgres
    image: docker.io/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
      POSTGRES_INITDB_ARGS: '--data-checksums'
    volumes:
      - ${DB_DATA_LOCATION}:/var/lib/postgresql/data
    healthcheck:
      test: pg_isready --dbname='${DB_DATABASE_NAME}' || exit 1; Chksum="$$(psql --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' --tuples-only --no-align --command='SELECT COALESCE(SUM(checksum_failures), 0) FROM pg_stat_database')"; echo "checksum failure count is $$Chksum"; [ "$$Chksum" = '0' ] || exit 1
      interval: 5m
      start_interval: 30s
      start_period: 5m
    command: ["postgres", "-c" ,"shared_preload_libraries=vectors.so", "-c", 'search_path="$$user", public, vectors', "-c", "logging_collector=on", "-c", "max_wal_size=2GB", "-c", "shared_buffers=512MB", "-c", "wal_compression=on"]
    ports:
      - 6543:5432
    restart: always

volumes:
  model-cache:

Your .env content

# The location where your uploaded files are stored
UPLOAD_LOCATION=./library
# The location where your database files are stored
DB_DATA_LOCATION=./postgres

EXTERNAL_PATH=/home/hendrik/SBPIC
NIKON_PATH=/home/hendrik/SBPIC/nikon
CASIO_PATH=/home/hendrik/SBPIC/casio

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

# Connection secret for postgres. You should change it to a random password
DB_PASSWORD=postgres

# increase to 300
MACHINE_LEARNING_WORKER_TIMEOUT=300

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

Reproduction steps

1. install edited docker-compose.yml file
2. run docker compose up -d --remove-orphans
3. run docker ps and see this result all the time:
CONTAINER ID   IMAGE                                                COMMAND                  CREATED          STATUS                         PORTS                                       NAMES
23f67569a0f5   ghcr.io/immich-app/immich-server:release             "tini -- /bin/bash"      34 seconds ago   Restarting (0) 3 seconds ago                                               immich_server
...

Relevant log output

I can't get docker logs immich-server to produce any output

Additional information

No response

petersuba commented 3 months ago

Are you sure your immich-server image is updated (pulled) the latest version? I had this exact same issue until I purged the project (removed all the containers & the immich-server image) which at build then triggered docker to pull the actual latest version and built it again. I had no problems after that.