immich icon indicating copy to clipboard operation
immich copied to clipboard

[BUG] Incorrect storage display size for Mac

Open Rihcus opened this issue 2 years ago • 10 comments
trafficstars

The bug

Storage counter in home ui broken.

image

My host mac has 256gb ssd and 1tb hard drive (usb)

The external 1tb hardrive contains the immich library and is using Mac OS Extended (Journaled) file system

Admin panal storage count is correct however:

image

The OS that Immich Server is running on

macOS 12.6.2 21G320 x86_64

Version of Immich Server

v1.80.0

Version of Immich Mobile App

v1.79.0

Platform with the issue

  • [x] Server
  • [X] Web
  • [X] Mobile

Your docker-compose.yml content

version: "3.8"

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    command: [ "start.sh", "immich" ]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /Volumes/MACHD/PhotoLibrary/Library/Photos/Oneplus8/OP8_Camera_Backup/Camera:/mnt/media/Camera:ro
    env_file:
      - .env
    depends_on:
      - redis
      - database
      - typesense
    restart: always

  immich-microservices:
    container_name: immich_microservices
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    # extends:
    #   file: hwaccel.yml
    #   service: hwaccel
    command: [ "start.sh", "microservices" ]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /Volumes/MACHD/PhotoLibrary/Library/Photos/Oneplus8/OP8_Camera_Backup/Camera:/mnt/media/Camera:ro
    env_file:
      - .env
    depends_on:
      - redis
      - database
      - typesense
    restart: always

  immich-machine-learning:
    container_name: immich_machine_learning
    image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
    volumes:
      - model-cache:/cache
    env_file:
      - .env
    restart: always

  immich-web:
    container_name: immich_web
    image: ghcr.io/immich-app/immich-web:${IMMICH_VERSION:-release}
    env_file:
      - .env
    restart: always

  typesense:
    container_name: immich_typesense
    image: typesense/typesense:0.24.1@sha256:9bcff2b829f12074426ca044b56160ca9d777a0c488303469143dd9f8259d4dd
    environment:
      - TYPESENSE_API_KEY=${TYPESENSE_API_KEY}
      - TYPESENSE_DATA_DIR=/data
      # remove this to get debug messages
      - GLOG_minloglevel=1
    volumes:
      - tsdata:/data
    restart: always

  redis:
    container_name: immich_redis
    image: redis:6.2-alpine@sha256:70a7a5b641117670beae0d80658430853896b5ef269ccf00d1827427e3263fa3
    restart: always

  database:
    container_name: immich_postgres
    image: postgres:14-alpine@sha256:28407a9961e76f2d285dc6991e8e48893503cc3836a4755bbc2d40bcc272a441
    env_file:
      - .env
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
    volumes:
      - pgdata:/var/lib/postgresql/data
    restart: always

  immich-proxy:
    container_name: immich_proxy
    image: ghcr.io/immich-app/immich-proxy:${IMMICH_VERSION:-release}
    environment:
      # Make sure these values get passed through from the env file
      - IMMICH_SERVER_URL
      - IMMICH_WEB_URL
    ports:
      - 2283:8080
    depends_on:
      - immich-server
      - immich-web
    restart: always

volumes:
  pgdata:
  model-cache:
  tsdata:

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/MACHD/PhotoLibrary/immich-upload

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

# Connection secrets for postgres and typesense. You should change these to random passwords
TYPESENSE_API_KEY=some-random-text
DB_PASSWORD=postgres

# 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. Set up docker compose on macOS 12.6.2 21G320 x86_64 
2. Plug in an external usb hard drive (make sure its formated in Mac OS Extended (Journaled) file system).
3. Mount some external libraries to docker-compose.yml
4. Install immich and update the web ui accordingly
5. Run a library scan
6. Check the storage counter in the home ui and compare it to admin panal
...

Additional information

Possibly related issues:

  • https://github.com/docker/for-mac/issues/2136
  • https://github.com/goharbor/harbor/pull/5695/files#diff-863faac4a7e2eea4d78a34dc31ce004d72d6578aead1cf569176de4b6f017d87R60-R66

Rihcus avatar Oct 03 '23 01:10 Rihcus

This is a docker bug that we can't really do anything about.

bo0tzz avatar Oct 03 '23 07:10 bo0tzz

I'd like to take a look at this one actually.

jrasm91 avatar Oct 03 '23 11:10 jrasm91

Also seeing this on macOS Monterey w/ docker desktop 4.24 image image

Mika571 avatar Oct 08 '23 11:10 Mika571

I have exactly the same problem. After investigation, some images are missing in the originals "upload/library" folder.

WARNING, Immich may have deleted or not uploaded somes photos correctly. The "upload/thumbs" previews exists and the images are presents in the database. But their originals may be missing. Which explains this delta. Immich front display thumbs images and hide this problem. Try download image to test original is present or check picture path in "upload/library"

The storage "bottom left" indicates the true size of the library from the File system "upload/library". The servers stats indicates the size obtained from the database, so maybe bad

cedvan avatar Jan 20 '24 14:01 cedvan

I just installed Immich on MacOS through docker compose. For me it was the same until I set the quotas for the users. I set the quota of 150gb and it shows 308.7mb usage which is exactly the same number as Finder app shows for library folder.

MatissAndersons avatar Feb 29 '24 21:02 MatissAndersons

I just installed Immich on MacOS through docker compose. For me it was the same until I set the quotas for the users. I set the quota of 150gb and it shows 308.7mb usage which is exactly the same number as Finder app shows for library folder.

I've experienced exactly this with immich 1.97.0 on both macOS Sonoma 14.3.1 with Docker Desktop 4.26.1, as well as Synology's Container Manager "Docker 20.10.23-1437".

macOS - without quota Screenshot 2024-03-06 at 5 06 34 PM

1000 GB quota Screenshot 2024-03-06 at 5 07 58 PM


Synology - without quota (this is the only user, so 6.5GB should be the total storage used, which matches what the underlying system reports) Screenshot 2024-03-06 at 5 01 20 PM

1000 GB quota Screenshot 2024-03-06 at 5 01 36 PM

I can actually revert back to the incorrect storage size simply by changing my user quota from 1000 back to 0.

scottrbaxter avatar Mar 06 '24 23:03 scottrbaxter

This does also seem to affect Linux. Setting a quota (500 GiB in my case) fixes the calculated size, as mentioned in https://github.com/immich-app/immich/issues/4318#issuecomment-1972017633.

Screenshot from 2024-03-12 07-10-48Screenshot from 2024-03-12 07-10-57

  • Immich version: v1.98.2
  • Host OS: Ubuntu 22.04
  • Host architecture: aarch64
  • Kernel version: 5.15
  • Deployment: Docker
  • Storage: sshfs

krakowski avatar Mar 12 '24 06:03 krakowski

Seems to affect every case where storage is using sshfs

image

Still present in v1.100.0

mufeedali avatar Apr 01 '24 06:04 mufeedali

I guess the total size is from linux machine on macos so it's not true. If we can't get it, it will be better display unknown instead of a wrong size.

0x5e avatar Sep 07 '24 13:09 0x5e

Any progress on this? On my Docker Desktop for Mac 4.35.1 and immich v1.120.1 its still showing me wrong numbers..

tmryvz avatar Nov 08 '24 10:11 tmryvz

@jrasm91 can we close this as an upstream docker bug / deprioritized as a Docker Desktop-only issue?

mmomjian avatar Dec 20 '24 01:12 mmomjian

I've found a way to solve this problem temporarily: configure the Quota Size in the settings of immich, and then the storage space can be displayed normally. Btw, my immich version is 1.230.0 for Casaos. image

image

pawnjiang avatar Jan 10 '25 00:01 pawnjiang

I'm running Immich v1.136.0 on a Mac Studio M3 Ultra with the following hardware: CPU: 24 cores RAM: 256GB Internal SSD: 2TB External Storage: 4 × 28TB HDDs configured with OpenZFS RAIDZ1, providing a total storage capacity of 83.64TB for UPLOAD_LOCATION=/Volumes/HDD4x28TB_RAIDZ1/immich

Database Location: DB_DATA_LOCATION=./postgres

However, the Immich web UI incorrectly reports the available storage as 181.4 TiB of 464.5 TiB used, which is not accurate given the actual disk setup and capacity. Image

4IEU avatar Jul 25 '25 10:07 4IEU

I too have the same exact problem. MacBook Pro M3 pro with about 20 TB total storage, 12 of which is visible to immich.

I had to set quotas to have it report properly, but, as the admin I would like to easily see how much space is left for the entirety of available storage. This is very very useful.

So big +1 on figuring this out

Here's how it looks for me. How I wish I had that much storage!!

Image

albarago avatar Aug 21 '25 13:08 albarago

Same problem on my Mac Mini M1. I use 4TB external HDD as the storage.

I use colima for the docker with start command: colima start --memory 6 --mount "/Volumes/main/:w" --mount "~:w"

Image

MatissAndersons:

I just installed Immich on MacOS through docker compose. For me it was the same until I set the quotas for the users. I set the quota of 150gb and it shows 308.7mb usage which is exactly the same number as Finder app shows for library folder.

After setting the storage limit:

Image

rizkyarlin avatar Oct 17 '25 00:10 rizkyarlin

Is this any fix to this guys? I’m facing the same issue.

DevilLnC avatar Nov 21 '25 01:11 DevilLnC