Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Duplicate deletion doesn't seems to work for non-admin users #10156

Closed
2 of 3 tasks
ramesh-lingappan opened this issue Jun 11, 2024 · 1 comment
Closed
2 of 3 tasks

Duplicate deletion doesn't seems to work for non-admin users #10156

ramesh-lingappan opened this issue Jun 11, 2024 · 1 comment

Comments

@ramesh-lingappan
Copy link

ramesh-lingappan commented Jun 11, 2024

Hi,
Big Thank You for making Immich! Love it.

Just noticed in the latest release version v1.106.1, the duplicate deletion is not working for non-admin users. UI showing 400 (Immich Server Error)

In the network request, I can see API request /api/system-config failing with response

{
    "message": "Forbidden resource",
    "error": "Forbidden",
    "statusCode": 403,
    "correlationId": "bt1dmnzd"
}

And in the Server log i could find this line,

2024-06-11T17:50:42.961728940Z [Nest] 17  - 06/11/2024, 5:50:42 PM    WARN [Api:AuthGuard~bt1dmnzd] Denied access to admin only route: /api/system-config

Seems like duplicate deletion need a config which is restricted to admin users only, preventing non-admin users from using this feature. Please have a look.

The OS that Immich Server is running on

Ubuntu 22.04

Version of Immich Server

v1.106.1

Version of Immich Mobile App

v1.106.1.build.159

Platform with the issue

  • Server
  • Web
  • Mobile

Your docker-compose.yml content

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: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
    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 SUM(checksum_failures) 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"]
    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

# 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=Etc/UTC

# 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

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

Reproduction steps

1. Login as non-admin user 
2. Got to Utilities -> Review duplicates
3. Try to click Trash for deducted duplicate images, UI will show 400 error
...

Relevant log output

2024-06-11T17:50:42.961728940Z [Nest] 17  - 06/11/2024, 5:50:42 PM    WARN [Api:AuthGuard~bt1dmnzd] Denied access to admin only route: /api/system-config

Additional information

immich_error_scren

@bo0tzz
Copy link
Member

bo0tzz commented Jun 11, 2024

#10113

@bo0tzz bo0tzz closed this as not planned Won't fix, can't repro, duplicate, stale Jun 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants