diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..dda13e5 Binary files /dev/null and b/.DS_Store differ diff --git a/README.md b/README.md index dbf1ecd..1956835 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ Navidrome is an open source web-based music collection server and streamer. It g ## Configuration -You can configure Navidrome by editing this file `/var/lib/navidrome/navidrome.toml` using the [documentation](https://www.navidrome.org/docs/usage/configuration-options/) +You can configure Navidrome by editing this file `/var/lib/navidrome/navidrome.toml` using the [documentation](https://www.navidrome.org/docs/usage/configuration-options/); The music is to be stored in the folder `/home/yunohost.navidrome/Music`. @@ -47,6 +47,7 @@ The music is to be stored in the folder `/home/yunohost.navidrome/Music`. ## Links * Report a bug: https://github.com/YunoHost-Apps/navidrome_ynh/issues + * App website: https://www.navidrome.org/ * Upstream app repository: https://github.com/deluan/navidrome/ * YunoHost website: https://yunohost.org/ diff --git a/README_fr.md b/README_fr.md index 5bf633a..f939941 100644 --- a/README_fr.md +++ b/README_fr.md @@ -23,7 +23,7 @@ Navidrome est un serveur et un streamer de collection de musique en ligne open s ## Configuration -Vous pouvez configurer Navidrome en modifiant le fichier `/var/lib/navidrome/navidrome.toml` et en vous aidant de la [documentation](https://www.navidrome.org/docs/usage/configuration-options/) +Vous pouvez configurer Navidrome en modifiant le fichier `/var/lib/navidrome/navidrome.toml` et en vous aidant de la [documentation](https://www.navidrome.org/docs/usage/configuration-options/). La musique est à stocker dans le dossier `/home/yunohost.navidrome/Music`. @@ -47,6 +47,7 @@ La musique est à stocker dans le dossier `/home/yunohost.navidrome/Music`. ## Liens * Signaler un bug : https://github.com/YunoHost-Apps/navidrome_ynh/issues + * Site de l'application : https://www.navidrome.org/ * Dépôt de l'application principale : https://github.com/deluan/navidrome/ * Site web YunoHost : https://yunohost.org/ diff --git a/conf/.DS_Store b/conf/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/conf/.DS_Store differ diff --git a/conf/arm64.src b/conf/arm64.src new file mode 100644 index 0000000..e8baed0 --- /dev/null +++ b/conf/arm64.src @@ -0,0 +1,6 @@ +SOURCE_URL=https://github.com/deluan/navidrome/releases/download/v0.30.1/navidrome_0.30.1_Linux_arm64.tar.gz +SOURCE_SUM=ab788c6fd3f907e4a392978ea81f0d36546b3914ac3c7c83721e03ea2827c5ce +SOURCE_SUM_PRG=sha256sum +SOURCE_FORMAT=tar.gz +SOURCE_IN_SUBDIR=false +SOURCE_FILENAME= \ No newline at end of file diff --git a/conf/armv5.src b/conf/armv5.src new file mode 100644 index 0000000..3350cb0 --- /dev/null +++ b/conf/armv5.src @@ -0,0 +1,6 @@ +SOURCE_URL=https://github.com/deluan/navidrome/releases/download/v0.30.1/navidrome_0.30.1_Linux_armv5.tar.gz +SOURCE_SUM=17ca329f806d35aef2adf67f1d58800105d25fe455a8fbb1380f714a5c7a843f +SOURCE_SUM_PRG=sha256sum +SOURCE_FORMAT=tar.gz +SOURCE_IN_SUBDIR=false +SOURCE_FILENAME= diff --git a/conf/armv6.src b/conf/armv6.src new file mode 100644 index 0000000..52f9a4d --- /dev/null +++ b/conf/armv6.src @@ -0,0 +1,6 @@ +SOURCE_URL=https://github.com/deluan/navidrome/releases/download/v0.30.1/navidrome_0.30.1_Linux_armv6.tar.gz +SOURCE_SUM=b9787f83be29cbb0bb5e1b17fb05b9490eccabf056c7a94f2790da16a44dbdb5 +SOURCE_SUM_PRG=sha256sum +SOURCE_FORMAT=tar.gz +SOURCE_IN_SUBDIR=false +SOURCE_FILENAME= diff --git a/conf/armv7.src b/conf/armv7.src new file mode 100644 index 0000000..4f82564 --- /dev/null +++ b/conf/armv7.src @@ -0,0 +1,6 @@ +SOURCE_URL=https://github.com/deluan/navidrome/releases/download/v0.30.1/navidrome_0.30.1_Linux_armv7.tar.gz +SOURCE_SUM=222900948d5b0ef30604eb6a1126467f72c5dcb96b54c548d7c595cd2d38edd8 +SOURCE_SUM_PRG=sha256sum +SOURCE_FORMAT=tar.gz +SOURCE_IN_SUBDIR=false +SOURCE_FILENAME= diff --git a/conf/i386.src b/conf/i386.src new file mode 100644 index 0000000..fcbd448 --- /dev/null +++ b/conf/i386.src @@ -0,0 +1,6 @@ +SOURCE_URL=https://github.com/deluan/navidrome/releases/download/v0.30.1/navidrome_0.30.1_Linux_i386.tar.gz +SOURCE_SUM=45972ab2c3254d724286060179c8bf77807feac7c612aa8107b0d56c89c7f518 +SOURCE_SUM_PRG=sha256sum +SOURCE_FORMAT=tar.gz +SOURCE_IN_SUBDIR=false +SOURCE_FILENAME= \ No newline at end of file diff --git a/conf/navidrome.toml b/conf/navidrome.toml index 9fe23d0..a8715df 100644 --- a/conf/navidrome.toml +++ b/conf/navidrome.toml @@ -1,7 +1,7 @@ LogLevel = "INFO" Address = "127.0.0.1" Port = "__PORT__" -BaseURL = "/__APP__" +BaseURL = "__PATH_URL__" ScanInterval = "90s" TranscodingCacheSize = "150MiB" -MusicFolder = "/home/yunohost.__APP__/Music" +MusicFolder = "/home/yunohost.navidrome/Music" diff --git a/conf/app.src b/conf/x86-64.src similarity index 100% rename from conf/app.src rename to conf/x86-64.src diff --git a/scripts/_common.sh b/scripts/_common.sh index 2fe1074..d517ea1 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -19,6 +19,34 @@ pkg_dependencies="ffmpeg" # FUTURE OFFICIAL HELPERS #================================================= +# Check the architecture +# +# example: architecture=$(ynh_detect_arch) +# +# usage: ynh_detect_arch +# +# Requires YunoHost version 2.2.4 or higher. +ynh_detect_arch(){ + local architecture + if [ -n "$(uname -m | grep arm64)" ] || [ -n "$(uname -m | grep aarch64)" ]; then + architecture="arm64" + elif [ -n "$(uname -m | grep 86)" ]; then + architecture="i386" + elif [ -n "$(uname -m | grep 64)" ]; then + architecture="x86-64" + elif [ -n "$(uname -m | grep armv7)" ]; then + architecture="armv7" + elif [ -n "$(uname -m | grep armv6)" ]; then + architecture="armv6" + elif [ -n "$(uname -m | grep armv5)" ]; then + architecture="armv5" + else + architecture="unknown" + fi + echo $architecture +} + + # Install or update the main directory yunohost.multimedia # diff --git a/scripts/install b/scripts/install index 4441a80..7f09e5c 100644 --- a/scripts/install +++ b/scripts/install @@ -26,6 +26,7 @@ ynh_abort_if_errors domain=$YNH_APP_ARG_DOMAIN path_url=$YNH_APP_ARG_PATH is_public=$YNH_APP_ARG_IS_PUBLIC +architecture=$(ynh_detect_arch) app=$YNH_APP_INSTANCE_NAME @@ -83,7 +84,7 @@ ynh_script_progression --message="Setting up source files..." --weight=4 ynh_app_setting_set --app=$app --key=final_path --value=$final_path # Download, check integrity, uncompress and patch the source from app.src -ynh_setup_source --dest_dir=$final_path +ynh_setup_source --dest_dir=$final_path --source_id="$architecture" #================================================= # NGINX CONFIGURATION @@ -117,7 +118,7 @@ cp ../conf/navidrome.toml "$config_path/navidrome.toml" # Main config File ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="$config_path/navidrome.toml" -ynh_replace_string --match_string="__APP__" --replace_string="$app" --target_file="$config_path/navidrome.toml" +ynh_replace_string --match_string="__PATH_URL__" --replace_string="$path_url" --target_file="$config_path/navidrome.toml" ynh_store_file_checksum --file="$config_path/navidrome.toml" diff --git a/scripts/upgrade b/scripts/upgrade index df0f949..050fb9e 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -21,6 +21,7 @@ path_url=$(ynh_app_setting_get --app=$app --key=path) is_public=$(ynh_app_setting_get --app=$app --key=is_public) final_path=$(ynh_app_setting_get --app=$app --key=final_path) port=$(ynh_app_setting_get --app=$app --key=port) +architecture=$(ynh_detect_arch) #================================================= # CHECK VERSION @@ -64,7 +65,7 @@ then ynh_secure_remove --file=$final_path # Download, check integrity, uncompress and patch the source from app.src - ynh_setup_source --dest_dir=$final_path + ynh_setup_source --dest_dir=$final_path --source_id="$architecture" fi #================================================= @@ -114,7 +115,7 @@ cp ../conf/navidrome.toml "$config_path/navidrome.toml" # Main config File ynh_replace_string --match_string="__PORT__" --replace_string="$port" --target_file="$config_path/navidrome.toml" -ynh_replace_string --match_string="__APP__" --replace_string="$app" --target_file="$config_path/navidrome.toml" +ynh_replace_string --match_string="__PATH_URL__" --replace_string="$path_url" --target_file="$config_path/navidrome.toml" ynh_store_file_checksum --file="$config_path/navidrome.toml"