debug: add verbose logging and error checks to setup_data_dir
Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled

This commit is contained in:
2026-04-27 08:11:24 -07:00
parent 59f406d3b7
commit a586d60682

View File

@@ -19,13 +19,24 @@ PRIMARY_TAGS='["navidrome","web","traefik.enable=true","urlprefix-/navidrome","t
# Ensure Navidrome's data directory exists and has the database symlinked to LiteFS
setup_data_dir() {
echo "Setting up Navidrome data directory..."
mkdir -p /data
# Ensure /data exists (should be a volume mount)
if [ ! -d "/data" ]; then
echo "Creating /data directory..."
mkdir -p /data || { echo "ERROR: Failed to create /data"; exit 1; }
fi
# Check if we can write to /data
touch /data/.write_test && rm /data/.write_test || { echo "ERROR: /data is not writable!"; exit 1; }
# Symlink the database and its sidecar files to the LiteFS mount.
# This ensures SQLite writes go through LiteFS while Navidrome can still
# create subdirectories (like /data/artwork) on the persistent host volume.
ln -sf /litefs/navidrome.db /data/navidrome.db
ln -sf /litefs/navidrome.db-wal /data/navidrome.db-wal
ln -sf /litefs/navidrome.db-shm /data/navidrome.db-shm
# We use -f to overwrite any existing files.
echo "Creating symlinks to LiteFS..."
ln -sf /litefs/navidrome.db /data/navidrome.db || echo "Warning: Failed to symlink navidrome.db"
ln -sf /litefs/navidrome.db-wal /data/navidrome.db-wal || echo "Warning: Failed to symlink navidrome.db-wal"
ln -sf /litefs/navidrome.db-shm /data/navidrome.db-shm || echo "Warning: Failed to symlink navidrome.db-shm"
echo "Data directory setup complete."
}
# Backup Database (Only on Primary)