mirror of
https://github.com/community-scripts/ProxmoxVE.git
synced 2026-09-15 09:14:08 +00:00
navidrome: repair root-owned data folders left by 0.61.x
Navidrome 0.61.x created cache, artwork and plugins under the data folder whenever any navidrome command ran, including the ones the deb postinstall runs as root. 0.62 stopped creating them that way but never corrected the owner, so a container that passed through 0.61.x carries a root-owned artwork directory. 0.64.0 is the first release to write into it and fails with writing image store: mkdir /var/lib/navidrome/artwork/hashed: permission denied which breaks newly resolved album covers and every playlist cover, since those are composites. Repair the three directories the same way navidrome/navidrome#6143 does: the entries themselves only, since they were created empty, real directories owned by root only, and chown -h, because the navidrome user owns the data folder and could otherwise plant a symlink. The trailing || true is not in the upstream copy and is needed here. Their postinstall runs without set -e, while update_script runs under catch_errors, which sets -Ee with an ERR trap. find exits 1 as soon as one starting point is missing, so on a container without a plugins directory the update would abort. Fixes the report in #17247, confirmed there by the reporter's stat and dpkg log: artwork is root-owned and dated to their 0.60.3 -> 0.61.1 upgrade.
This commit is contained in:
@@ -38,6 +38,9 @@ function update_script() {
|
||||
|
||||
fetch_and_deploy_gh_release "navidrome" "navidrome/navidrome" "binary"
|
||||
|
||||
find /var/lib/navidrome/cache /var/lib/navidrome/artwork /var/lib/navidrome/plugins \
|
||||
-maxdepth 0 -type d -user root -exec chown -h navidrome:navidrome {} + 2>/dev/null || true
|
||||
|
||||
msg_info "Starting Services"
|
||||
systemctl start navidrome
|
||||
msg_ok "Started Services"
|
||||
|
||||
Reference in New Issue
Block a user