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

iPhone app doesn't upload all photos in an album #16999

Closed
2 of 4 tasks
LorenzoZappa opened this issue Mar 20, 2025 · 4 comments
Closed
2 of 4 tasks

iPhone app doesn't upload all photos in an album #16999

LorenzoZappa opened this issue Mar 20, 2025 · 4 comments

Comments

@LorenzoZappa
Copy link

LorenzoZappa commented Mar 20, 2025

I have searched the existing issues, both open and closed, to make sure this is not a duplicate report.

  • Yes

The bug

I want to upload only a selection of photos from my iPhone, only the photos that are saved in an album called “Immich”. This has been working for a year or more.
Now when I add new photos to such album and I try to back them up on Immich only some photos will be uploaded.
My album has 2325 photos, when I select it and click backup it will start to upload the new missing photos to Immich: the backup counter goes up and the remaining counter goes down (all well). At a certain point the “backup” counter freezes while the “remaining” and the “total” counter will go down in sync one with with the other. This behavior stops at a certain point and the backup results as finished, if I try to start i again it will do nothing and finishes immediately. I end up with a “total” counter that is less than 2325 photos and is even less then the “backup” counter as in the screenshots.
Worst of all it didn’t backup all the photos, some of them are still with the "not backup" symbol. Even if I try to restart the backup nothing changes.

Image

Image

Image

How can I fix this?

The OS that Immich Server is running on

Ubuntu 22.00

Version of Immich Server

1.129.0

Version of Immich Mobile App

1.129.0

Platform with the issue

  • Server
  • Web
  • Mobile

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}
    # extends:
    #   file: hwaccel.transcoding.yml
    #   service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
    volumes:
      # Do not edit the next line. If you want to change the media storage location on your system, edit the value of UPLOAD_LOCATION in the .env file
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
    env_file:
      - .env
    ports:
      - 2283:2283
    depends_on:
      - redis
      - database
    restart: always
    healthcheck:
      disable: false

  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
    healthcheck:
      disable: false

  redis:
    container_name: immich_redis
    image: docker.io/redis:6.2-alpine@sha256:2d1463258f2764328496376f5d965f20c6a67f66ea2b06dc42af351f75248792
    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:
      # Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file
      - ${DB_DATA_LOCATION}:/var/lib/postgresql/data
    healthcheck:
      test: pg_isready --dbname='${DB_DATABASE_NAME}' --username='${DB_USERNAME}' || 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"]
    restart: always

volumes:
  model-cache:

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=./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=IT

# 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
# Please use only the characters `A-Za-z0-9`, without special characters or spaces
DB_PASSWORD= XXXXXXXXXXX

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

Reproduction steps

  1. Select a large album to backup on iOS (2000 or more photos)
  2. Let it backup to Immich
  3. Add some photos (100 or more)
  4. Backup the album again on Immich
    ...

Relevant log output

Additional information

No response

@alextran1502
Copy link
Contributor

The reason for lower number because the albums contains duplicate assets so they are put into a blacklist.

To fix the issue if cross over assets, you can pull down to refresh or to sign out and sign back in

@bo0tzz bo0tzz closed this as completed Mar 20, 2025
@LorenzoZappa
Copy link
Author

LorenzoZappa commented Mar 20, 2025

Ok but why doesn’t it upload all the photos? In the last screenshot I posted you can clearly see that some photos are not being uploaded. I tried to refresh the page and to log out and back in but nothing changed.

P.s. the album should not contain duplicate assets (surely not 300) as I have hand picked these photos.

@alextran1502
Copy link
Contributor

@LorenzoZappa could be blacklist issue. Try go to App Settings > Advanced > Clear Duplicate and rub upload again

@LorenzoZappa
Copy link
Author

Thanks this completely fixed the issue! All photos have been uploaded.
In addition now the “total” counter is not lower than the “backup” counter, this makes sense.

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

3 participants