diff --git a/birdnet-go/rootfs/etc/cont-init.d/01-structure.sh b/birdnet-go/rootfs/etc/cont-init.d/01-structure.sh index b5ec2c91e..a235aabdd 100755 --- a/birdnet-go/rootfs/etc/cont-init.d/01-structure.sh +++ b/birdnet-go/rootfs/etc/cont-init.d/01-structure.sh @@ -41,10 +41,19 @@ fi BIRDSONGS_FOLDER="$(bashio::config "BIRDSONGS_FOLDER")" BIRDSONGS_FOLDER="${BIRDSONGS_FOLDER:-/config/clips}" BIRDSONGS_FOLDER="${BIRDSONGS_FOLDER%/}" -if ! mkdir -p "$BIRDSONGS_FOLDER"; then - bashio::log.fatal "Cannot create $BIRDSONGS_FOLDER." - exit 1 +if [[ ! "$BIRDSONGS_FOLDER" == /* ]]; then + if [ ! -d /config/"$BIRDSONGS_FOLDER" ]; then + mkdir -p /config/"$BIRDSONGS_FOLDER" + fi + if [ -d /data/"$BIRDSONGS_FOLDER" ]; then + if "$(ls -A /data/"$BIRDSONGS_FOLDER")"; then + cp -rf /data/"$BIRDSONGS_FOLDER"/* /config/"$BIRDSONGS_FOLDER"/* + fi + rm -r /data/"$BIRDSONGS_FOLDER" + fi + ln -sf /config/"$BIRDSONGS_FOLDER" /data/"$BIRDSONGS_FOLDER" fi + bashio::log.info "... audio clips saved to $BIRDSONGS_FOLDER according to addon options" # Migrate data if the folder has changed