diff --git a/manifest.toml b/manifest.toml index 069a020..fad68ba 100644 --- a/manifest.toml +++ b/manifest.toml @@ -21,7 +21,8 @@ cpe = "cpe:2.3:a:jellyfin:jellyfin" fund = "https://opencollective.com/jellyfin" [integration] -yunohost = ">= 11.2" +yunohost = ">= 11.2.18" +helpers_version = "2.1" architectures = ["armhf", "arm64", "amd64"] multi_instance = false ldap = true diff --git a/scripts/_common.sh b/scripts/_common.sh index a2273b9..38054b4 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -1,7 +1,7 @@ #!/bin/bash #================================================= -# COMMON VARIABLES +# COMMON VARIABLES AND CUSTOM HELPERS #================================================= debian=$(lsb_release --codename --short) @@ -24,21 +24,16 @@ config_path="/etc/$app" log_path="/var/log/$app" cache_path="/var/cache/$app" - -#================================================= -# PERSONAL HELPERS -#================================================= - install_jellyfin_packages() { # Get version numbers from manifest UNUSED because update_version.py uses the hard-coded variables # pkg_version="$(ynh_app_upstream_version)" - # ffmpeg_url="$(ynh_read_manifest --manifest_key="resources.sources.ffmpeg_${debian}.${YNH_ARCH}.url")" + # ffmpeg_url="$(ynh_read_manifest # ffmpeg_pkg_version="$(echo "$ffmpeg_url" | sed "s/.*\/jellyfin-ffmpeg[0-9]*_\([0-9.-]*\)-${debian}_${YNH_ARCH}.deb/\1/")" # This should only run on upgrade, to fix https://github.com/YunoHost-Apps/jellyfin_ynh/issues/163 # Previously the package depended on exact package versions, so upgrade was broken. - if ynh_package_is_installed --package="$app-ynh-deps" && ynh_package_is_installed --package="jellyfin-server"; then - ynh_install_app_dependencies jellyfin-web jellyfin-ffmpeg6 jellyfin-server + if _ynh_apt_package_is_installed"$app-ynh-deps" && _ynh_apt_package_is_installed"jellyfin-server"; then + ynh_apt_install_dependencies jellyfin-web jellyfin-ffmpeg6 jellyfin-server fi # Create the temporary directory @@ -50,23 +45,23 @@ install_jellyfin_packages() { ynh_setup_source --dest_dir="$tempdir" --source_id="server_$debian" # Install the packages. Allow downgrades because apt decided bullseye > bookworm - ynh_package_install --allow-downgrades \ + _ynh_apt_install --allow-downgrades \ "$tempdir/jellyfin-web.deb" \ "$tempdir/jellyfin-server.deb" # We need to workaround yunohoost passing --no-remove to replace jellyfin-ffmpeg5... - if ynh_package_is_installed "jellyfin-ffmpeg5"; then + if _ynh_apt_package_is_installed"jellyfin-ffmpeg5"; then ynh_package_remove "jellyfin-ffmpeg5" fi # Install the packages. Allow downgrades because apt decided bullseye > bookworm - ynh_package_install --allow-downgrades \ + _ynh_apt_install --allow-downgrades \ "${tempdir}/jellyfin-ffmpeg6.deb" # The doc says it should be called only once, # but the code says multiple calls are supported. # Also, they're already installed so that should be quasi instantaneous. - ynh_install_app_dependencies jellyfin-web jellyfin-ffmpeg6 jellyfin-server + ynh_apt_install_dependencies jellyfin-web jellyfin-ffmpeg6 jellyfin-server # Mark packages as dependencies, to allow automatic removal apt-mark auto jellyfin-server jellyfin-web jellyfin-ffmpeg6 @@ -81,7 +76,7 @@ configure_jellyfin_discovery_ports() { remove_jellyfin_discovery_ports ;; *) - ynh_print_warn --message="Invalid script calling configure_jellyfin_discovery_ports with args (should be install|remove): $@" + ynh_print_warn "Invalid script calling configure_jellyfin_discovery_ports with args (should be install|remove): $@" ;; esac } @@ -89,12 +84,12 @@ configure_jellyfin_discovery_ports() { remove_jellyfin_discovery_ports() { if [[ $discovery_service -eq 1 ]] && yunohost firewall list | grep -q "\- $discovery_service_port$" then - ynh_exec_warn_less yunohost firewall disallow UDP $discovery_service_port + ynh_hide_warnings yunohost firewall disallow UDP $discovery_service_port fi if [[ $discovery_client -eq 1 ]] && yunohost firewall list | grep -q "\- $discovery_client_port$" then - ynh_exec_warn_less yunohost firewall disallow UDP $discovery_client_port + ynh_hide_warnings yunohost firewall disallow UDP $discovery_client_port fi } @@ -107,30 +102,22 @@ install_jellyfin_discovery_ports() { opened_ports=($discovery_service_port $discovery_client_port) # Open port $discovery_service_port for service auto-discovery - if ynh_port_available --port=$discovery_service_port; then - ynh_exec_warn_less yunohost firewall allow UDP $discovery_service_port + if #REMOVEME? ynh_port_available --port=$discovery_service_port; then + ynh_hide_warnings yunohost firewall allow UDP $discovery_service_port else discovery_service=0 - ynh_print_warn --message="Port $discovery_service_port (for service auto-discovery) is not available. Continuing nonetheless." + ynh_print_warn "Port $discovery_service_port (for service auto-discovery) is not available. Continuing nonetheless." fi # Open port $discovery_client_port for client auto-discovery - if ynh_port_available --port=$discovery_client_port; then - ynh_exec_warn_less yunohost firewall allow UDP $discovery_client_port + if #REMOVEME? ynh_port_available --port=$discovery_client_port; then + ynh_hide_warnings yunohost firewall allow UDP $discovery_client_port else discovery_client=0 - ynh_print_warn --message="Port $discovery_client_port (for client auto-discovery) is not available. Continuing nonetheless." + ynh_print_warn "Port $discovery_client_port (for client auto-discovery) is not available. Continuing nonetheless." fi fi - ynh_app_setting_set --app="$app" --key=discovery_service --value="$discovery_service" - ynh_app_setting_set --app="$app" --key=discovery_client --value="$discovery_client" + ynh_app_setting_set --key=discovery_service --value="$discovery_service" + ynh_app_setting_set --key=discovery_client --value="$discovery_client" } - -#================================================= -# EXPERIMENTAL HELPERS -#================================================= - -#================================================= -# FUTURE OFFICIAL HELPERS -#================================================= diff --git a/scripts/backup b/scripts/backup index 52bbcf6..8ef87f3 100644 --- a/scripts/backup +++ b/scripts/backup @@ -8,31 +8,28 @@ source ../settings/scripts/_common.sh source /usr/share/yunohost/helpers -#================================================= -# DECLARE DATA AND CONF FILES TO BACKUP -#================================================= -ynh_print_info --message="Declaring files to be backed up..." +ynh_print_info "Declaring files to be backed up..." #================================================= # BACKUP THE APP MAIN DIR #================================================= -ynh_backup --src_path="$data_path" -ynh_backup --src_path="$config_path" -ynh_backup --src_path="/etc/default/jellyfin" --not_mandatory +ynh_backup "$data_path" +ynh_backup "$config_path" +ynh_backup "/etc/default/jellyfin" || true #================================================= # SYSTEM CONFIGURATION #================================================= -ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf" +ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf" -ynh_backup --src_path="/etc/logrotate.d/$app" +ynh_backup "/etc/logrotate.d/$app" -ynh_backup --src_path="/etc/systemd/system/jellyfin.service.d" --not_mandatory +ynh_backup "/etc/systemd/system/jellyfin.service.d" || true #================================================= # END OF SCRIPT #================================================= -ynh_print_info --message="Backup script completed for $app. (YunoHost will then actually copy those files to the archive)." +ynh_print_info "Backup script completed for $app. (YunoHost will then actually copy those files to the archive)." diff --git a/scripts/change_url b/scripts/change_url index 6fed8b7..230f85b 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -10,16 +10,16 @@ source /usr/share/yunohost/helpers #================================================= # STOP SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Stopping $app's systemd service..." --weight=2 +ynh_script_progression "Stopping $app's systemd service..." -ynh_systemd_action --service_name="$app" --action="stop" --log_path="systemd" --timeout=15 +ynh_systemctl --service="$app" --action="stop" --log_path="systemd" --timeout=15 #================================================= # MODIFY URL IN NGINX CONF #================================================= -ynh_script_progression --message="Updating NGINX web server configuration..." --weight=1 +ynh_script_progression "Updating NGINX web server configuration..." -ynh_change_url_nginx_config +ynh_config_change_url_nginx #================================================= # BASE URL @@ -29,21 +29,21 @@ ynh_change_url_nginx_config if [ $change_path -eq 1 ]; then # If somehow was not replaced during install if grep -q "" "$config_path/network.xml"; then - ynh_replace_string --match_string="" --replace_string="$new_path" --target_file="$config_path/network.xml" + ynh_replace --match="" --replace="$new_path" --file="$config_path/network.xml" else - ynh_replace_string --match_string="$old_path" --replace_string="$new_path" --target_file="$config_path/network.xml" + ynh_replace --match="$old_path" --replace="$new_path" --file="$config_path/network.xml" fi fi #================================================= # START SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Starting $app's systemd service..." --weight=2 +ynh_script_progression "Starting $app's systemd service..." -ynh_systemd_action --service_name="$app" --action="start" --log_path="systemd" --timeout=15 +ynh_systemctl --service="$app" --action="start" --log_path="systemd" --timeout=15 #================================================= # END OF SCRIPT #================================================= -ynh_script_progression --message="Change of URL completed for $app" --last +ynh_script_progression "Change of URL completed for $app" diff --git a/scripts/install b/scripts/install index a4bb507..055b581 100644 --- a/scripts/install +++ b/scripts/install @@ -12,14 +12,14 @@ source /usr/share/yunohost/helpers #================================================= if [ -d "$config_path" ]; then - ynh_die --message="There is already a directory: $config_path " + ynh_die "There is already a directory: $config_path " fi -ynh_app_setting_set --app="$app" --key=config_path --value="$config_path" +ynh_app_setting_set --key=config_path --value="$config_path" #================================================= # SYSTEM CONFIGURATION #=================================================รง -ynh_script_progression --message="Configuring the dedicated system user..." --weight=1 +ynh_script_progression "Configuring the dedicated system user..." if getent group render && ! id -Gn "$app" | grep -qw "\brender\b" >/dev/null; then # Add user to render group @@ -29,7 +29,7 @@ fi #================================================= # OPEN PORTS #================================================= -ynh_script_progression --message="Checking whether to open ports..." --weight=1 +ynh_script_progression "Checking whether to open ports..." configure_jellyfin_discovery_ports install ports_args=() @@ -40,38 +40,38 @@ fi #================================================= # INSTALL PACKAGES #================================================= -ynh_script_progression --message="Installing packages..." --weight=1 +ynh_script_progression "Installing packages..." install_jellyfin_packages #================================================= # ADD A CONFIGURATION #================================================= -ynh_print_info --message="Waiting 30s to let Jellyfin fully start a first time..." +ynh_print_info "Waiting 30s to let Jellyfin fully start a first time..." sleep 30 -ynh_script_progression --message="Adding a configuration file..." --weight=1 +ynh_script_progression "Adding $app's configuration..." -ynh_systemd_action --service_name="$app" --action="stop" --log_path="systemd" --timeout=15 +ynh_systemctl --service="$app" --action="stop" --log_path="systemd" --timeout=15 -ynh_add_config --template="system.xml" --destination="$config_path/system.xml" -ynh_add_config --template="network.xml" --destination="$config_path/network.xml" -ynh_add_config --template="logging.json" --destination="$config_path/logging.json" +ynh_config_add --template="system.xml" --destination="$config_path/system.xml" +ynh_config_add --template="network.xml" --destination="$config_path/network.xml" +ynh_config_add --template="logging.json" --destination="$config_path/logging.json" #================================================= # INSTALL LDAP PLUGIN #================================================= -ynh_script_progression --message="Installing LDAP plugin..." --weight=2 +ynh_script_progression "Installing LDAP plugin..." ynh_setup_source --dest_dir="/var/lib/jellyfin/plugins/LDAP Authentication" --source_id=plugin_ldap mkdir -p /var/lib/jellyfin/plugins/configurations/ -ynh_add_config --template="LDAP-Auth.xml" --destination="/var/lib/jellyfin/plugins/configurations/LDAP-Auth.xml" +ynh_config_add --template="LDAP-Auth.xml" --destination="/var/lib/jellyfin/plugins/configurations/LDAP-Auth.xml" #================================================= # SECURE FILES AND DIRECTORIES #================================================= -ynh_script_progression --message="Securing files and directories..." +ynh_script_progression "Securing files and directories..." # Set permissions to app files chown -R "$app:" "$data_path" @@ -80,7 +80,7 @@ chown -R "$app:" "$config_path" #================================================= # YUNOHOST MULTIMEDIA INTEGRATION #================================================= -ynh_script_progression --message="Adding multimedia directories..." --weight=2 +ynh_script_progression "Adding multimedia directories..." # Build YunoHost multimedia directories ynh_multimedia_build_main_dir @@ -91,28 +91,28 @@ ynh_multimedia_addaccess "$app" #================================================= # SYSTEM CONFIGURATION #================================================= -ynh_script_progression --message="Adding system configurations related to $app..." --weight=1 +ynh_script_progression "Adding system configurations related to $app..." # Create a dedicated NGINX config using the conf/nginx.conf template -ynh_add_nginx_config +ynh_config_add_nginx -ynh_add_config --template="systemd.service" --destination="/etc/systemd/system/jellyfin.service.d/baseurl.service.conf" +ynh_config_add --destination="/etc/systemd/system/jellyfin.service.d/baseurl.service.conf" systemctl daemon-reload yunohost service add "$app" --description="Jellyfin media center" "${ports_args[@]}" # Use logrotate to manage application logfile(s) -ynh_use_logrotate +ynh_config_add_logrotate #================================================= # START SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Starting $app's systemd service..." --weight=1 +ynh_script_progression "Starting $app's systemd service..." # Start a systemd service -ynh_systemd_action --service_name="$app" --action="start" --log_path="systemd" --timeout=15 +ynh_systemctl --service="$app" --action="start" --log_path="systemd" --timeout=15 #================================================= # END OF SCRIPT #================================================= -ynh_script_progression --message="Installation of $app completed" --last +ynh_script_progression "Installation of $app completed" diff --git a/scripts/remove b/scripts/remove index 72d6d4e..1474d72 100644 --- a/scripts/remove +++ b/scripts/remove @@ -10,42 +10,42 @@ source /usr/share/yunohost/helpers #================================================= # REMOVE SYSTEM CONFIGURATIONS #================================================= -ynh_script_progression --message="Removing system configurations related to $app..." --weight=1 +ynh_script_progression "Removing system configurations related to $app..." # Remove the service from the list of services known by YunoHost (added from `yunohost service add`) -if ynh_exec_warn_less yunohost service status "$app" >/dev/null; then +if ynh_hide_warnings yunohost service status "$app" >/dev/null; then yunohost service remove "$app" fi -ynh_remove_logrotate +ynh_config_remove_logrotate -ynh_remove_nginx_config +ynh_config_remove_nginx #================================================= # REMOVE PACKAGES #================================================= -ynh_script_progression --message="Removing packages..." --weight=1 +ynh_script_progression "Removing packages..." -ynh_remove_app_dependencies +ynh_apt_remove_dependencies #================================================= # CLOSE A PORT #================================================= -ynh_script_progression --message="Closing ports..." --weight=1 +ynh_script_progression "Closing ports..." configure_jellyfin_discovery_ports remove #================================================= # REMOVE VARIOUS FILES #================================================= -ynh_script_progression --message="Removing various files..." --weight=1 +ynh_script_progression "Removing various files..." -ynh_secure_remove --file="$config_path" -ynh_secure_remove --file="/etc/systemd/system/jellyfin.service.d" -ynh_secure_remove --file="/etc/sudoers.d/jellyfin-sudoers" +ynh_safe_rm "$config_path" +ynh_safe_rm "/etc/systemd/system/jellyfin.service.d" +ynh_safe_rm "/etc/sudoers.d/jellyfin-sudoers" #================================================= # END OF SCRIPT #================================================= -ynh_script_progression --message="Removal of $app completed" --last +ynh_script_progression "Removal of $app completed" diff --git a/scripts/restore b/scripts/restore index d89fbb6..56f17be 100644 --- a/scripts/restore +++ b/scripts/restore @@ -11,7 +11,7 @@ source /usr/share/yunohost/helpers #================================================= # RECREATE THE DEDICATED USER #================================================= -ynh_script_progression --message="Reconfiguring the dedicated system user..." --weight=1 +ynh_script_progression "Reconfiguring the dedicated system user..." # It could be created later by the deb, but it's cleaner here if getent group render && ! id -Gn "$app" | grep -qw "\brender\b" >/dev/null; then @@ -22,7 +22,7 @@ fi #================================================= # OPEN PORTS #================================================= -ynh_script_progression --message="Checking whether to open ports..." --weight=1 +ynh_script_progression "Checking whether to open ports..." configure_jellyfin_discovery_ports install ports_args=() @@ -33,23 +33,23 @@ fi #================================================= # RESTORE THE APP MAIN DIR #================================================= -ynh_script_progression --message="Restoring the app main directory..." --weight=2 +ynh_script_progression "Restoring the app main directory..." -ynh_restore_file --origin_path="$data_path" -ynh_restore_file --origin_path="$config_path" -ynh_restore_file --origin_path="/etc/default/jellyfin" --not_mandatory +ynh_restore "$data_path" +ynh_restore "$config_path" +ynh_restore "/etc/default/jellyfin" || true #================================================= # REINSTALL PACKAGES #================================================= -ynh_script_progression --message="Reinstalling packages..." --weight=7 +ynh_script_progression "Reinstalling packages..." install_jellyfin_packages #================================================= # RESTORE USER RIGHTS #================================================= -ynh_script_progression --message="Restoring user rights..." +ynh_script_progression "Restoring user rights..." # Restore permissions on app files chown -R "$app:" "$data_path" @@ -58,7 +58,7 @@ chown -R "$app:" "$config_path" #================================================= # YUNOHOST MULTIMEDIA INTEGRATION #================================================= -ynh_script_progression --message="Adding multimedia directories..." --weight=2 +ynh_script_progression "Adding multimedia directories..." # Build YunoHost multimedia directories ynh_multimedia_build_main_dir @@ -69,27 +69,27 @@ ynh_multimedia_addaccess "$app" #================================================= # RESTORE SYSTEM CONFIGURATIONS #================================================= -ynh_script_progression --message="Restoring system configurations related to $app..." --weight=1 +ynh_script_progression "Restoring system configurations related to $app..." -ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" +ynh_restore "/etc/nginx/conf.d/$domain.d/$app.conf" -ynh_restore_file --origin_path="/etc/systemd/system/jellyfin.service.d" --not_mandatory +ynh_restore "/etc/systemd/system/jellyfin.service.d" || true systemctl enable jellyfin.service --quiet yunohost service add "$app" --description="Jellyfin media center" "${ports_args[@]}" -ynh_restore_file --origin_path="/etc/logrotate.d/$app" +ynh_restore "/etc/logrotate.d/$app" #================================================= # RELOAD NGINX AND PHP-FPM OR THE APP SERVICE #================================================= -ynh_script_progression --message="Reloading NGINX web server and $app's service..." --weight=1 +ynh_script_progression "Reloading NGINX web server and $app's service..." -ynh_systemd_action --service_name="$app" --action="restart" --log_path="systemd" --timeout=15 +ynh_systemctl --service="$app" --action="restart" --log_path="systemd" --timeout=15 -ynh_systemd_action --service_name=nginx --action=reload +ynh_systemctl --service=nginx --action=reload #================================================= # END OF SCRIPT #================================================= -ynh_script_progression --message="Restoration completed for $app" --last +ynh_script_progression "Restoration completed for $app" diff --git a/scripts/upgrade b/scripts/upgrade index b32f6fc..be3b26f 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -10,14 +10,14 @@ source /usr/share/yunohost/helpers #================================================= # STOP SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Stopping $app's systemd service..." --weight=1 +ynh_script_progression "Stopping $app's systemd service..." -ynh_systemd_action --service_name="$app" --action="stop" --log_path="systemd" --timeout=15 +ynh_systemctl --service="$app" --action="stop" --log_path="systemd" --timeout=15 #================================================= # ENSURE DOWNWARD COMPATIBILITY #================================================= -ynh_script_progression --message="Ensuring downward compatibility..." --weight=1 +ynh_script_progression "Ensuring downward compatibility..." # If render group exists, and system user doesn't belong to it, add it if getent group render && ! id -Gn "$app" | grep -qw "\brender\b" >/dev/null; then @@ -28,26 +28,27 @@ fi # If config_path is mixed up with install_dir, fix them if [ -z "$config_path" ] || [[ $config_path = "/var/lib/jellyfin" ]]; then config_path=/etc/jellyfin - ynh_app_setting_set --app="$app" --key=config_path --value=$config_path + ynh_app_setting_set --key=config_path --value=$config_path fi -ynh_app_setting_delete --app="$app" --key=is_public +ynh_app_setting_delete --key=is_public # If discovery key does not exist, create it +# FIXMEhelpers2.1: maybe replace with: ynh_app_setting_set_default --key=discovery --value=0 if [ -z "${discovery:-}" ]; then discovery=0 - ynh_app_setting_set --app="$app" --key=discovery --value=$discovery + ynh_app_setting_set --key=discovery --value=$discovery fi if [ ! -f "/etc/logrotate.d/$app" ]; then # Fix possibly missing file due to buggy restore: - ynh_use_logrotate + ynh_config_add_logrotate fi #================================================= # OPEN PORTS #================================================= -ynh_script_progression --message="Checking whether to open ports..." --weight=1 +ynh_script_progression "Checking whether to open ports..." configure_jellyfin_discovery_ports install ports_args=() @@ -58,7 +59,7 @@ fi #================================================= # UPGRADE PACKAGES #================================================= -ynh_script_progression --message="Upgrading packages..." --weight=3 +ynh_script_progression "Upgrading packages..." # Backup the configuration files to prevent yunohost to see a manual edit bakdir=$(mktemp -d) @@ -71,16 +72,16 @@ install_jellyfin_packages #================================================= # UPDATE A CONFIG FILE #================================================= -ynh_script_progression --message="Updating a configuration file..." --weight=2 +ynh_script_progression "Updating configuration..." # Restore the files we just backed up before installing the debs... for name in system.xml network.xml logging.json; do mv -f "$bakdir/$name" "$config_path/$name" done -ynh_secure_remove "$bakdir" +ynh_safe_rm "$bakdir" -ynh_add_config --template="network.xml" --destination="$config_path/network.xml" -ynh_add_config --template="logging.json" --destination="$config_path/logging.json" +ynh_config_add --template="network.xml" --destination="$config_path/network.xml" +ynh_config_add --template="logging.json" --destination="$config_path/logging.json" #================================================= # ENSURE NO OLD/INCOMPATIBLE PLUGINS ARE LEFT @@ -97,7 +98,7 @@ if [ -d /var/lib/jellyfin/plugins ]; then fi if [ ! -f "$directory"/meta.json ]; then - ynh_print_warn --message="Jellyfin plugin '$name' looks legacy (missing meta.json). Moving to /var/lib/jellyfin/plugins-backup." + ynh_print_warn "Jellyfin plugin '$name' looks legacy (missing meta.json). Moving to /var/lib/jellyfin/plugins-backup." mv "$directory" /var/lib/jellyfin/plugins-backup/ fi @@ -107,7 +108,7 @@ if [ -d /var/lib/jellyfin/plugins ]; then abi="$(jq -r '.targetAbi' "$directory/meta.json")" if dpkg --compare-versions "$abi" lt "$plugin_abi"; then - ynh_print_warn --message="Jellyfin plugin '$name' ABI $abi is lower than expected $plugin_abi. Moving to /var/lib/jellyfin/plugins-backup." + ynh_print_warn "Jellyfin plugin '$name' ABI $abi is lower than expected $plugin_abi. Moving to /var/lib/jellyfin/plugins-backup." mv "$directory" /var/lib/jellyfin/plugins-backup/ fi done @@ -116,11 +117,11 @@ fi #================================================= # INSTALL LDAP PLUGIN #================================================= -ynh_script_progression --message="Installing LDAP plugin..." --weight=2 +ynh_script_progression "Installing LDAP plugin..." -ynh_setup_source --full_replace=1 --dest_dir="/var/lib/jellyfin/plugins/LDAP Authentication" --source_id=plugin_ldap +ynh_setup_source --full_replace --dest_dir="/var/lib/jellyfin/plugins/LDAP Authentication" --source_id=plugin_ldap mkdir -p /var/lib/jellyfin/plugins/configurations/ -ynh_add_config --template="LDAP-Auth.xml" --destination="/var/lib/jellyfin/plugins/configurations/LDAP-Auth.xml" +ynh_config_add --template="LDAP-Auth.xml" --destination="/var/lib/jellyfin/plugins/configurations/LDAP-Auth.xml" #================================================= # SECURE FILES AND DIRECTORIES @@ -133,7 +134,7 @@ chown -R "$app:" "$config_path" #================================================= # YUNOHOST MULTIMEDIA INTEGRATION #================================================= -ynh_script_progression --message="Adding multimedia directories..." --weight=2 +ynh_script_progression "Adding multimedia directories..." # Build YunoHost multimedia directories ynh_multimedia_build_main_dir @@ -144,28 +145,28 @@ ynh_multimedia_addaccess "$app" #================================================= # REAPPLY SYSTEM CONFIGURATIONS #================================================= -ynh_script_progression --message="Upgrading system configurations related to $app..." --weight=1 +ynh_script_progression "Upgrading system configurations related to $app..." # Create a dedicated NGINX config -ynh_add_nginx_config +ynh_config_add_nginx -ynh_add_config --template="systemd.service" --destination="/etc/systemd/system/jellyfin.service.d/baseurl.service.conf" +ynh_config_add --destination="/etc/systemd/system/jellyfin.service.d/baseurl.service.conf" systemctl daemon-reload # Use logrotate to manage app-specific logfile(s) -ynh_use_logrotate +ynh_config_add_logrotate yunohost service add "$app" --description="Jellyfin media center" "${ports_args[@]}" #================================================= # START SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Starting $app's systemd service..." --weight=1 +ynh_script_progression "Starting $app's systemd service..." -ynh_systemd_action --service_name="$app" --action="restart" --log_path="systemd" --timeout=15 +ynh_systemctl --service="$app" --action="restart" --log_path="systemd" --timeout=15 #================================================= # END OF SCRIPT #================================================= -ynh_script_progression --message="Upgrade of $app completed" --last +ynh_script_progression "Upgrade of $app completed"