immich-app / immich

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

Can no longer log in via Immich CLI #10241

Closed nothing2obvi closed 3 months ago

nothing2obvi commented 3 months ago

The bug

I do the command:

immich login http://10.0.0.221:2283/api key-here

Like I've always done, but now I get:

Failed to connect to server: 404
{
  "message": "Cannot GET /api/user/me",
  "error": "Not Found",
  "statusCode": 404,
  "correlationId": "stuff-here"
}

I think this is since upgrading to at least v1.106.1. I'm on v1.106.3 now.

Anyone else experience this or have any ideas? I tried fetching a new API key but it didn't help. Thanks.

The OS that Immich Server is running on

MacOS Sonoma 14.5

Version of Immich Server

v1.106.3

Version of Immich Mobile App

v1.106.1

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
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - ${EXTERNAL_PATH}:/usr/src/app/external
      - /etc/localtime:/etc/localtime:ro
    env_file:
      - /Users/username/Docker/immich/.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:
      - /Volumes/ExtHDD/Photos/docker/model-cache:/cache
    env_file:
      - /Users/username/Docker/immich/.env
    restart: always
    deploy:
      resources:
        limits:
          cpus: "0.50"
          memory: 1000M

  redis:
    container_name: immich_redis
    image: docker.io/redis:6.2-alpine@sha256:d6c2911ac51b289db208767581a5d154544f2b2fe4914ea5056443f62dc6e900
    restart: always
    healthcheck:
      test: redis-cli ping || exit 1
    deploy:
      resources:
        limits:
          cpus: "0.25"
          memory: 1000M

  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'
    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"]
    volumes:
      #- /Volumes/ExtHDD/Photos/docker/pgdata:/var/lib/postgresql/data
      - ${DB_DATA_LOCATION}:/var/lib/postgresql/data
    restart: always
    deploy:
      resources:
        limits:
          cpus: "0.25"
          memory: 1000M

Your .env content

# You can find documentation for all the supported env variables at https://immich.app/docs/install/environment-variables

# The location where your uploaded files are stored
UPLOAD_LOCATION=/Volumes/ExtHDD/Photos
# The ones below are not in the original example.env file.
EXTERNAL_PATH="/Volumes/ExtHDD/Photos/External Libraries"

# 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="password-here"

# Where the database will be
DB_DATA_LOCATION=/Users/username/Docker/immich/pgdata

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

REDIS_HOSTNAME=immich_redis

Reproduction steps

1. Try to log in via Immich CLI
2. Fail

Relevant log output

No response

Additional information

No response

mmomjian commented 3 months ago

The API has changed in 1.106. Where is your immich CLI command sourced from / what version is it?

Cookie-Monster-Coder commented 3 months ago

I had a similar issue, make sure both the cli and server are updated.