immich-app / immich

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

Background backup not works on Miui 12 #7673

Open mihalt opened 6 months ago

mihalt commented 6 months ago

The bug

Hi! I can't do Background backup on Xiaomi Mi Mix 3 with Miui Global 12.0.7 Stable. I've tried near to everything from this article with usage of all 3 apps that reveal hidden settings (but Solution for devs didn't do).

The OS that Immich Server is running on

Windows 10 Pro

Version of Immich Server

3.8

Version of Immich Mobile App

1.97.0

Platform with the issue

Your docker-compose.yml content

version: "3.8"

#
# 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}
    command: [ "start.sh", "immich" ]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
    env_file:
      - .env
    ports:
      - 8887:3001
    depends_on:
      - redis
      - database
    restart: always

  immich-microservices:
    container_name: immich_microservices
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    # extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/hardware-transcoding
    #   file: hwaccel.transcoding.yml
    #   service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
    command: [ "start.sh", "microservices" ]
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - /etc/localtime:/etc/localtime:ro
    env_file:
      - .env
    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: registry.hub.docker.com/library/redis:6.2-alpine@sha256:51d6c56749a4243096327e3fb964a48ed92254357108449cb6e23999c37773c5
    restart: always

  database:
    container_name: immich_postgres
    image: registry.hub.docker.com/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
    volumes:
      - pgdata:/var/lib/postgresql/data
    restart: always

volumes:
  pgdata:
  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 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_HOSTNAME=immich_postgres
DB_USERNAME=postgres
DB_DATABASE_NAME=immich

REDIS_HOSTNAME=immich_redis

Reproduction steps

1. Connect from smartphone to Immich
2. Do manual backup or by Foreground. Everything works fine
3. Do background backup by wi-fi and by battery charge. Both and separately. 
4. Switch off Foreground backup
5. Copy and paste new file to the folder that is watched. I see, that they are seen by Immich and ready to sync.
6. Switch off and switch on battery charge and wi-fi and nothing happens after 5 seconds. (But I see, that he tries to find new files in Android tray). 
7. The same happens if I turn off and turn on background backup.

Additional information

Backup with Photosync to Photoprism works fine.

aviv926 commented 6 months ago

Can you provide logs from the application? Are you using a reverse proxy?

mihalt commented 6 months ago

Can you provide logs from the application? Are you using a reverse proxy?

No reverse proxy. Just local direct local ip address. Should I send logs here? Is it safe? And do you need logs of server or from android?

aviv926 commented 6 months ago

Can you provide logs from the application? Are you using a reverse proxy?

No reverse proxy. Just local direct local ip address. Should I send logs here? Is it safe? And do you need logs of server or from android?

Yes it's safe, you can see what's displayed there yourself (usually the IP address of the server and error information) Logs from the server and the application is a good start.

mihalt commented 6 months ago

This is what I copied from docker server container — server_docker_logs.txt

And this is from my android app — Immich_log_2024-03-06T205003.139606.csv

Docker server was reinstalled a few times. By this reason Android logs can be a bit more rich.

aviv926 commented 6 months ago

I would try to do 3 options since I see you haven't done them:

  1. Log out and log in from your user
  2. Try to check if the problem exists when you try from another user
  3. Have you tried reinstalling the application?
mihalt commented 6 months ago

I would try to do 3 options since I see you haven't done them:

1. Log out and log in from your user

2. Try to check if the problem exists when you try from another user

3. Have you tried reinstalling the application?

I have tried each step. App doesn't work

aviv926 commented 6 months ago

I would try to do 3 options since I see you haven't done them:

1. Log out and log in from your user

2. Try to check if the problem exists when you try from another user

3. Have you tried reinstalling the application?

I have tried each step. App doesn't work

If this is the case, you should wait for more responses

Anyway, you might want to look here https://github.com/immich-app/immich/issues/4654#issuecomment-1837393669

mihalt commented 6 months ago

I would try to do 3 options since I see you haven't done them:

1. Log out and log in from your user

2. Try to check if the problem exists when you try from another user

3. Have you tried reinstalling the application?

I have tried each step. App doesn't work

If this is the case, you should wait for more responses

Anyway, you might want to look here #4654 (comment)

This is a bit not my case. All backup features work good. Problems are just with background backup

kazink commented 2 months ago

I also experience the same problem on a different phone (Ulefone Armor 3WT, Android 9). The background process shows in the notifications sometimes, but it doesn't upload any newly taken photos (WiFi-only upload is off). The foreground upload starts immediately once I start the app. The app has the storage permission, and the battery optimization is disabled. Also tried with the foreground upload disabled - no luck.

alextran1502 commented 2 months ago

@kazink if you go into the settings > immich > battery do you see option to set battery to unrestricted?

kazink commented 2 months ago

@kazink if you go into the settings > immich > battery do you see option to set battery to unrestricted?

The option is gray and says: "Background usage can't be restricted".