diff --git a/immich/CHANGELOG.md b/immich/CHANGELOG.md index 7e10dbd89..db4eef062 100644 --- a/immich/CHANGELOG.md +++ b/immich/CHANGELOG.md @@ -1,3 +1,5 @@ +## 1.138.0-1 (19-08-2025) +- New option : skip_permissions_check to skip permissions check ## 1.138.0 (16-08-2025) - Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases) diff --git a/immich/README.md b/immich/README.md index 534501904..8ea158a2f 100644 --- a/immich/README.md +++ b/immich/README.md @@ -54,6 +54,7 @@ Webui can be found at `:8080`. PostgreSQL/MySQL can be either internal | `DISABLE_MACHINE_LEARNING` | bool | `false` | Disable ML features | | `MACHINE_LEARNING_WORKERS` | int | `1` | Number of ML workers | | `MACHINE_LEARNING_WORKER_TIMEOUT` | int | `120` | ML worker timeout (seconds) | +| `skip_permissions_check` | bool | `false` | Skip file permissions checking | ### Example Configuration diff --git a/immich/config.json b/immich/config.json index 0adbfc425..3b9d09ed0 100644 --- a/immich/config.json +++ b/immich/config.json @@ -138,7 +138,8 @@ "data_location": "str", "library_location": "str?", "localdisks": "str?", - "networkdisks": "str?" + "networkdisks": "str?", + "skip_permissions_check": "bool?" }, "services": [ "mysql:want" diff --git a/immich/rootfs/etc/cont-init.d/20-folders.sh b/immich/rootfs/etc/cont-init.d/20-folders.sh index 6354f537e..db6a3473d 100755 --- a/immich/rootfs/etc/cont-init.d/20-folders.sh +++ b/immich/rootfs/etc/cont-init.d/20-folders.sh @@ -41,21 +41,26 @@ printf "%s\n" "IMMICH_MEDIA_LOCATION=\"$DATA_LOCATION\"" >> ~/.bashrc echo "... check $DATA_LOCATION folder exists" mkdir -p "$DATA_LOCATION" -echo "... setting permissions" -chown -R "$PUID":"$PGID" "$DATA_LOCATION" - echo "... correcting official script" # shellcheck disable=SC2013 for file in $(grep -sril '/photos' /etc); do sed -i "s|/photos|$DATA_LOCATION|g" "$file"; done if [ -f /photos ]; then rm -r /photos; fi ln -sf "$DATA_LOCATION" /photos -chown "$PUID":"$PGID" /photos mkdir -p "$MACHINE_LEARNING_CACHE_FOLDER" mkdir -p "$REVERSE_GEOCODING_DUMP_DIRECTORY" -chown -R "$PUID":"$PGID" "$MACHINE_LEARNING_CACHE_FOLDER" -chown -R "$PUID":"$PGID" "$REVERSE_GEOCODING_DUMP_DIRECTORY" -chown -R "$PUID":"$PGID" /data + +if ! bashio::config.true "skip_permissions_check" && [ "${PUID:-0}" != "0" ] && [ "${PGID:-0}" != "0" ]; then + echo "... setting permissions, this might take a long time. If it takes too long at each boot, you could instead activate skip_permissions_check in the addon options" + chown -R "$PUID:$PGID" "$DATA_LOCATION" + chmod -R 777 "$DATA_LOCATION" + chown "$PUID:$PGID" /photos + chown -R "$PUID:$PGID" "$MACHINE_LEARNING_CACHE_FOLDER" + chown -R "$PUID:$PGID" "$REVERSE_GEOCODING_DUMP_DIRECTORY" + chown -R "$PUID:$PGID" /data +elif bashio::config.true "skip_permissions_check"; then + bashio::log.warning "... skipping permissions check as 'skip_permissions_check' is set" +fi chmod 755 /data #################### diff --git a/immich_cuda/CHANGELOG.md b/immich_cuda/CHANGELOG.md index 9dea8bcf0..108d95e29 100644 --- a/immich_cuda/CHANGELOG.md +++ b/immich_cuda/CHANGELOG.md @@ -1,3 +1,5 @@ +## 1.138.0-1 (19-08-2025) +- New option : skip_permissions_check to skip permissions check ## 1.138.0 (16-08-2025) - Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases) diff --git a/immich_cuda/README.md b/immich_cuda/README.md index 5ca69d8a0..a98247e2f 100644 --- a/immich_cuda/README.md +++ b/immich_cuda/README.md @@ -60,6 +60,7 @@ Webui can be found at `:8080`. PostgreSQL can be either internal or ext | `DISABLE_MACHINE_LEARNING` | bool | `false` | Disable ML features (not recommended for CUDA variant) | | `MACHINE_LEARNING_WORKERS` | int | `1` | Number of ML workers (can be increased with CUDA) | | `MACHINE_LEARNING_WORKER_TIMEOUT` | int | `120` | ML worker timeout (seconds) | +| `skip_permissions_check` | bool | `false` | Skip file permissions checking | ### Example Configuration diff --git a/immich_cuda/config.json b/immich_cuda/config.json index 65b4e5b25..1cdae4558 100644 --- a/immich_cuda/config.json +++ b/immich_cuda/config.json @@ -137,7 +137,8 @@ "data_location": "str", "library_location": "str?", "localdisks": "str?", - "networkdisks": "str?" + "networkdisks": "str?", + "skip_permissions_check": "bool?" }, "services": [ "mysql:want" diff --git a/immich_noml/CHANGELOG.md b/immich_noml/CHANGELOG.md index e7c58c737..e944d0168 100644 --- a/immich_noml/CHANGELOG.md +++ b/immich_noml/CHANGELOG.md @@ -1,3 +1,5 @@ +## 1.138.0-1 (19-08-2025) +- New option : skip_permissions_check to skip permissions check ## 1.138.0 (16-08-2025) - Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases) diff --git a/immich_noml/README.md b/immich_noml/README.md index 7dbbc4afc..f2d41c413 100644 --- a/immich_noml/README.md +++ b/immich_noml/README.md @@ -64,6 +64,7 @@ Webui can be found at `:8080`. PostgreSQL can be either internal or ext | `DISABLE_MACHINE_LEARNING` | bool | `false` | Disable ML features (recommended for NoML variant) | | `MACHINE_LEARNING_WORKERS` | int | `1` | Number of ML workers (keep at 1 for NoML) | | `MACHINE_LEARNING_WORKER_TIMEOUT` | int | `120` | ML worker timeout (seconds) | +| `skip_permissions_check` | bool | `false` | Skip file permissions checking | ### Example Configuration diff --git a/immich_noml/config.json b/immich_noml/config.json index edd33880a..b5a71114e 100644 --- a/immich_noml/config.json +++ b/immich_noml/config.json @@ -138,7 +138,8 @@ "data_location": "str", "library_location": "str?", "localdisks": "str?", - "networkdisks": "str?" + "networkdisks": "str?", + "skip_permissions_check": "bool?" }, "services": [ "mysql:want" diff --git a/immich_openvino/CHANGELOG.md b/immich_openvino/CHANGELOG.md index e7c58c737..e944d0168 100644 --- a/immich_openvino/CHANGELOG.md +++ b/immich_openvino/CHANGELOG.md @@ -1,3 +1,5 @@ +## 1.138.0-1 (19-08-2025) +- New option : skip_permissions_check to skip permissions check ## 1.138.0 (16-08-2025) - Update to latest version from imagegenius/docker-immich (changelog : https://github.com/imagegenius/docker-immich/releases) diff --git a/immich_openvino/README.md b/immich_openvino/README.md index 488a58e54..d6e8205b6 100644 --- a/immich_openvino/README.md +++ b/immich_openvino/README.md @@ -61,6 +61,7 @@ Webui can be found at `:8080`. PostgreSQL can be either internal or ext | `DISABLE_MACHINE_LEARNING` | bool | `false` | Disable ML features (not recommended for OpenVINO variant) | | `MACHINE_LEARNING_WORKERS` | int | `1` | Number of ML workers (can be increased with OpenVINO) | | `MACHINE_LEARNING_WORKER_TIMEOUT` | int | `120` | ML worker timeout (seconds) | +| `skip_permissions_check` | bool | `false` | Skip file permissions checking | ### Example Configuration diff --git a/immich_openvino/config.json b/immich_openvino/config.json index 2fed0b178..4d17eb172 100644 --- a/immich_openvino/config.json +++ b/immich_openvino/config.json @@ -137,7 +137,8 @@ "data_location": "str", "library_location": "str?", "localdisks": "str?", - "networkdisks": "str?" + "networkdisks": "str?", + "skip_permissions_check": "bool?" }, "services": [ "mysql:want"