immich-app / immich

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

[BUG] Release 1.72.0 #3578

Closed milouk closed 1 year ago

milouk commented 1 year ago

The bug

Im running immich on a raspberry pi 4. I updated to 1.72.0 and now the containers using the server image cannot start. They fail with

exec /usr/bin/tini: exec format error

The OS that Immich Server is running on

RaspbiOS

Version of Immich Server

v1.72.0

Version of Immich Mobile App

v1.72.0

Platform with the issue

Your docker-compose.yml content

immich-server:
    <<: *common-keys-core
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:release
    command: [ "start.sh", "immich" ]
    volumes:
      - /mnt/media:/usr/src/app/upload
    env_file:
      - ./immich/immich.env
    depends_on:
      - redis
      - database
    networks:
      private-network:
        ipv4_address: 10.1.0.22
    labels:
      - com.centurylinklabs.watchtower.enable=true
      - traefik.enable=true
      - traefik.http.services.immich-api.loadbalancer.server.port=3001
      - traefik.http.routers.immich-api-https.entrypoints=https
      - traefik.http.routers.immich-api-https.rule=Host(`${IMMICH_HOST}`) && Pathprefix(`/api`)
      - traefik.http.middlewares.immich-api-strip.stripprefix.prefixes=/api
      - traefik.http.routers.immich-api-https.tls=true
      - traefik.http.routers.immich-api-https.middlewares=chain-middlewares-no-auth@file,immich-api-strip

  immich-microservices:
    <<: *common-keys-core
    container_name: immich_microservices
    image: ghcr.io/immich-app/immich-server:release
    command: [ "start.sh", "microservices" ]
    volumes:
      - /mnt/media:/usr/src/app/upload
    env_file:
      - ./immich/immich.env
    depends_on:
      - redis
      - database
    networks:
      private-network:
        ipv4_address: 10.1.0.23
    labels:
      - com.centurylinklabs.watchtower.enable=true

### Your .env content

```Shell
###################################################################################
# Database
###################################################################################

# NOTE: The following four database variables support Docker secrets by adding a *_FILE suffix to the variable name
# See the docker-compose documentation on secrets for additional details: https://docs.docker.com/compose/compose-file/compose-file-v3/#secrets
DB_HOSTNAME=<>
POSTGRES_USER=<>
POSTGRES_PASSWORD=<>
POSTGRES_DB=<>

DB_USERNAME=<>
DB_PASSWORD=<>
DB_DATABASE_NAME=<>

# Optional Database settings:
# DB_PORT=5432

###################################################################################
# Redis
###################################################################################

REDIS_HOSTNAME=immich_redis

# REDIS_URL will be used to pass custom options to ioredis.
# Example for Sentinel
# {"sentinels":[{"host":"redis-sentinel-node-0","port":26379},{"host":"redis-sentinel-node-1","port":26379},{"host":"redis-sentinel-node-2","port":26379}],"name":"redis-sentinel"}
# REDIS_URL=ioredis://eyJzZW50aW5lbHMiOlt7Imhvc3QiOiJyZWRpcy1zZW50aW5lbDEiLCJwb3J0IjoyNjM3OX0seyJob3N0IjoicmVkaXMtc2VudGluZWwyIiwicG9ydCI6MjYzNzl9XSwibmFtZSI6Im15bWFzdGVyIn0=

# Optional Redis settings:

# Note: these parameters are not automatically passed to the Redis Container
# to do so, please edit the docker-compose.yml file as well. Redis is not configured
# via environment variables, only redis.conf or the command line

# REDIS_PORT=6379
# REDIS_DBINDEX=0
# REDIS_USERNAME=
# REDIS_PASSWORD=
# REDIS_SOCKET=

# Reverse Geocoding
#
# Reverse geocoding is done locally which has a small impact on memory usage
# This memory usage can be altered by changing the REVERSE_GEOCODING_PRECISION variable
# This ranges from 0-3 with 3 being the most precise
# 3 - Cities > 500 population: ~200MB RAM
# 2 - Cities > 1000 population: ~150MB RAM
# 1 - Cities > 5000 population: ~80MB RAM
# 0 - Cities > 15000 population: ~40MB RAM
####################################################################################

# DISABLE_REVERSE_GEOCODING=false
# REVERSE_GEOCODING_PRECISION=3

####################################################################################
# WEB - Optional
#
# Custom message on the login page, should be written in HTML form.
# For example:
# PUBLIC_LOGIN_PAGE_MESSAGE="This is a demo instance of Immich.<br><br>Email: <i>demo@demo.de</i><br>Password: <i>demo</i>"
####################################################################################

PUBLIC_LOGIN_PAGE_MESSAGE="Hello"

####################################################################################
# Alternative Service Addresses - Optional
#
# This is an advanced feature for users who may be running their immich services on different hosts.
# It will not change which address or port that services bind to within their containers, but it will change where other services look for their peers.
# Note: immich-microservices is bound to 3002, but no references are made
####################################################################################

IMMICH_WEB_URL=http://immich-web:3000
IMMICH_SERVER_URL=http://immich-server:3001

####################################################################################
# Alternative API's External Address - Optional
#
# This is an advanced feature used to control the public server endpoint returned to clients during Well-known discovery.
# You should only use this if you want mobile apps to access the immich API over a custom URL. Do not include trailing slash.
# NOTE: At this time, the web app will not be affected by this setting and will continue to use the relative path: /api
# Examples: http://localhost:3001, http://immich-api.example.com, etc
####################################################################################

IMMICH_API_URL_EXTERNAL=https://<>.duckdns.org

IMMICH_MACHINE_LEARNING_URL=false
TYPESENSE_ENABLED=false

### Reproduction steps

```bash
1. Watchtower updated the image

Additional information

No response

milouk commented 1 year ago

Updating to 1.72.1 fixed the issue