From 2eeaec5b511e39bb6619c948ec6c4dd8c655a63e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Thu, 6 Jun 2024 12:00:25 +0200 Subject: [PATCH] Automated packaging v2 conversion --- conf/amd64.src | 6 -- conf/systemd.service | 8 +-- manifest.toml | 98 +++++++++++++++++++++++++++++++ scripts/_common.sh | 2 +- scripts/backup | 20 +++---- scripts/change_url | 62 ++++++++++---------- scripts/install | 136 +++++++++++++++++++++---------------------- scripts/remove | 32 +++++----- scripts/restore | 68 +++++++++++----------- scripts/upgrade | 126 +++++++++++++++++++-------------------- 10 files changed, 326 insertions(+), 232 deletions(-) delete mode 100644 conf/amd64.src create mode 100644 manifest.toml diff --git a/conf/amd64.src b/conf/amd64.src deleted file mode 100644 index a81a8ba..0000000 --- a/conf/amd64.src +++ /dev/null @@ -1,6 +0,0 @@ -SOURCE_URL=https://akkoma-updates.s3-website.fr-par.scw.cloud/stable/akkoma-amd64-debian-bullseye.zip -SOURCE_SUM=20bc9b2c2d07203526b798cc0941768f5f40d1598e501cc426d10f45c434f3b5 -SOURCE_SUM_PRG=sha256sum -SOURCE_FORMAT=zip -SOURCE_IN_SUBDIR=true -SOURCE_FILENAME= diff --git a/conf/systemd.service b/conf/systemd.service index c013392..24e43c8 100644 --- a/conf/systemd.service +++ b/conf/systemd.service @@ -15,12 +15,12 @@ Environment="MIX_ENV=prod" ; Make sure that all paths fit your installation. ; Path to the home directory of the user running the Akkoma service. -Environment="HOME=__FINALPATH__/live/" +Environment="HOME=__INSTALL_DIR__/live/" ; Path to the folder containing the Akkoma installation. -WorkingDirectory=__FINALPATH__/live/ +WorkingDirectory=__INSTALL_DIR__/live/ ; Path to the Pleroma binary. ; It has to be Pleroma not Akkoma -ExecStart=__FINALPATH__/live/bin/pleroma start -ExecStop=__FINALPATH__/live/bin/pleroma stop +ExecStart=__INSTALL_DIR__/live/bin/pleroma start +ExecStop=__INSTALL_DIR__/live/bin/pleroma stop ; Some security directives. ; Use private /tmp and /var/tmp folders inside a new file system namespace, which are discarded after the process stops. diff --git a/manifest.toml b/manifest.toml new file mode 100644 index 0000000..85abb29 --- /dev/null +++ b/manifest.toml @@ -0,0 +1,98 @@ +#:schema https://raw.githubusercontent.com/YunoHost/apps/master/schemas/manifest.v2.schema.json + +packaging_format = 2 + +id = "akkoma" +name = "Akkoma" +description.en = "Federated social networking server built on ActivityPub open protocol" +description.fr = "Serveur de réseautage social fédéré basé sur le protocole ouvert ActivityPub" + +version = "3.10.3~ynh1" + +maintainers = ["Lapineige"] + +[upstream] +license = "AGPL-3.0-only" +website = "https://akkoma.social/" +demo = "https://otp.akkoma.dev" +admindoc = "https://docs.akkoma.dev/stable/" +code = "https://akkoma.dev/AkkomaGang/akkoma/" +cpe = "???" # FIXME: optional but recommended if relevant, this is meant to contain the Common Platform Enumeration, which is sort of a standard id for applications defined by the NIST. In particular, Yunohost may use this is in the future to easily track CVE (=security reports) related to apps. The CPE may be obtained by searching here: https://nvd.nist.gov/products/cpe/search. For example, for Nextcloud, the CPE is 'cpe:2.3:a:nextcloud:nextcloud' (no need to include the version number) +fund = "???" # FIXME: optional but recommended (or remove if irrelevant / not applicable). This is meant to be an URL where people can financially support this app, especially when its development is based on volunteers and/or financed by its community. YunoHost may later advertise it in the webadmin. + +[integration] +yunohost = ">= 11.0" +architectures = "all" # FIXME: can be replaced by a list of supported archs using the dpkg --print-architecture nomenclature (amd64/i386/armhf/arm64), for example: ["amd64", "i386"] +multi_instance = false +ldap = "?" # FIXME: replace with true, false, or "not_relevant". Not to confuse with the "sso" key : the "ldap" key corresponds to wether or not a user *can* login on the app using its YunoHost credentials. +sso = "?" # FIXME: replace with true, false, or "not_relevant". Not to confuse with the "ldap" key : the "sso" key corresponds to wether or not a user is *automatically logged-in* on the app when logged-in on the YunoHost portal. +disk = "50M" # FIXME: replace with an **estimate** minimum disk requirement. e.g. 20M, 400M, 1G, ... +ram.build = "50M" # FIXME: replace with an **estimate** minimum ram requirement. e.g. 50M, 400M, 1G, ... +ram.runtime = "50M" # FIXME: replace with an **estimate** minimum ram requirement. e.g. 50M, 400M, 1G, ... + +[install] + [install.domain] + # this is a generic question - ask strings are automatically handled by Yunohost's core + type = "domain" + + [install.init_main_permission] + type = "group" + default = "visitors" + + [install.admin] + # this is a generic question - ask strings are automatically handled by Yunohost's core + type = "user" + + [install.password] + # this is a generic question - ask strings are automatically handled by Yunohost's core + type = "password" + + [install.name] + ask.en = "Choose a name for your Akkoma instance" + ask.fr = "Choisissez un nom pour votre instance Akkoma" + type = "string" + example = "My_akkoma" + default = "My_akkoma" + + [install.registration] + ask.en = "Should registration be open to users who do not have a YunoHost account on the system?" + ask.fr = "L'inscription doit-elle être ouverte aux utilisateurs qui n'ont pas de compte YunoHost sur le système ?" + type = "boolean" + default = false + + [install.cache] + ask.en = "Enable media-cache for your instance: downloaded media won't be downloaded twice, at the price of storage capacity." + ask.fr = "Activer le cache média pour votre instance : les médias téléchargés le seront pas deux fois, au prix d'un plus grande utilisation de l'espace de stockage." + type = "boolean" + default = true + + [install.size] + ask.en = "Select the media-cache size (in GB). If you did not enabled media-cache in above option then this option will have no effect." + ask.fr = "Sélectionner la taille du cache média (en Go). Si vous n'avez pas activé le cache média ci-dessus, cette option n'aura aucun effet." + type = "string" + choices = ["1g", "2g", "5g", "10g", "20g", "40g", "80g", "150g"] + default = "5g" + +[resources] + [resources.sources.main] + amd64.url = "https://akkoma-updates.s3-website.fr-par.scw.cloud/stable/akkoma-amd64-debian-bullseye.zip" + amd64.sha256 = "20bc9b2c2d07203526b798cc0941768f5f40d1598e501cc426d10f45c434f3b5" + + + [resources.system_user] + + [resources.install_dir] + + [resources.data_dir] + + [resources.permissions] + main.url = "/" + + [resources.ports] + main.default = 8095 + + [resources.apt] + packages = "curl, unzip, libncurses5, postgresql, postgresql-contrib, imagemagick, ffmpeg, exiftool, libimage-exiftool-perl" + + [resources.database] + type = "postgresql" diff --git a/scripts/_common.sh b/scripts/_common.sh index e898399..b0eb20c 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -5,7 +5,7 @@ #================================================= # dependencies used by the app (must be on a single line) -pkg_dependencies="curl unzip libncurses5 postgresql postgresql-contrib imagemagick ffmpeg exiftool libimage-exiftool-perl" +#REMOVEME? pkg_dependencies="curl unzip libncurses5 postgresql postgresql-contrib imagemagick ffmpeg exiftool libimage-exiftool-perl" #================================================= # PERSONAL HELPERS diff --git a/scripts/backup b/scripts/backup index 22831db..25e68c3 100644 --- a/scripts/backup +++ b/scripts/backup @@ -14,24 +14,24 @@ source /usr/share/yunohost/helpers # MANAGE SCRIPT FAILURE #================================================= -ynh_clean_setup () { +#REMOVEME? ynh_clean_setup () { true } # Exit if an error occurs during the execution of the script -ynh_abort_if_errors +#REMOVEME? ynh_abort_if_errors #================================================= # LOAD SETTINGS #================================================= ynh_print_info --message="Loading settings..." -app=$YNH_APP_INSTANCE_NAME +#REMOVEME? app=$YNH_APP_INSTANCE_NAME -final_path=$(ynh_app_setting_get --app=$app --key=final_path) -domain=$(ynh_app_setting_get --app=$app --key=domain) -db_name=$(ynh_app_setting_get --app=$app --key=db_name) -cache=$(ynh_app_setting_get --app=$app --key=cache) -datadir=$(ynh_app_setting_get --app=$app --key=datadir) +#REMOVEME? #REMOVEME? install_dir=$(ynh_app_setting_get --app=$app --key=install_dir) +#REMOVEME? domain=$(ynh_app_setting_get --app=$app --key=domain) +#REMOVEME? db_name=$(ynh_app_setting_get --app=$app --key=db_name) +#REMOVEME? cache=$(ynh_app_setting_get --app=$app --key=cache) +#REMOVEME? data_dir=$(ynh_app_setting_get --app=$app --key=data_dir) #================================================= # DECLARE DATA AND CONF FILES TO BACKUP @@ -42,14 +42,14 @@ ynh_print_info --message="Declaring files to be backed up..." # BACKUP THE APP MAIN DIR #================================================= -ynh_backup --src_path="$final_path" +ynh_backup --src_path="$install_dir" #================================================= # BACKUP THE DATA DIR #================================================= # When using BACKUP_CORE_ONLY (default), this folder will not be saved. This saves a lot of space and time, in particular during upgrades. -ynh_backup --src_path="$datadir" --is_big +ynh_backup --src_path="$data_dir" --is_big #================================================= # BACKUP THE NGINX CONFIGURATION diff --git a/scripts/change_url b/scripts/change_url index 7f1fe6c..4a07dc7 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -13,56 +13,56 @@ source /usr/share/yunohost/helpers # RETRIEVE ARGUMENTS #================================================= -old_domain=$YNH_APP_OLD_DOMAIN -old_path=$YNH_APP_OLD_PATH +#REMOVEME? old_domain=$YNH_APP_OLD_DOMAIN +#REMOVEME? old_path=$YNH_APP_OLD_PATH -new_domain=$YNH_APP_NEW_DOMAIN -new_path="/" +#REMOVEME? new_domain=$YNH_APP_NEW_DOMAIN +#REMOVEME? new_path="/" -app=$YNH_APP_INSTANCE_NAME +#REMOVEME? app=$YNH_APP_INSTANCE_NAME #================================================= # LOAD SETTINGS #================================================= ynh_script_progression --message="Loading settings..." --weight=1 -# Needed for helper "ynh_add_nginx_config" -final_path=$(ynh_app_setting_get --app=$app --key=final_path) +#REMOVEME? # Needed for helper "ynh_add_nginx_config" +#REMOVEME? #REMOVEME? install_dir=$(ynh_app_setting_get --app=$app --key=install_dir) # Add settings here as needed by your application -port=$(ynh_app_setting_get --app=$app --key=port) +#REMOVEME? port=$(ynh_app_setting_get --app=$app --key=port) #================================================= # BACKUP BEFORE CHANGE URL THEN ACTIVE TRAP #================================================= -ynh_script_progression --message="Backing up the app before changing its URL (may take a while)..." --weight=1 +#REMOVEME? ynh_script_progression --message="Backing up the app before changing its URL (may take a while)..." --weight=1 # Backup the current version of the app -ynh_backup_before_upgrade -ynh_clean_setup () { +#REMOVEME? ynh_backup_before_upgrade +#REMOVEME? ynh_clean_setup () { # Remove the new domain config file, the remove script won't do it as it doesn't know yet its location. - ynh_secure_remove --file="/etc/nginx/conf.d/$new_domain.d/$app.conf" +#REMOVEME? ynh_secure_remove --file="/etc/nginx/conf.d/$new_domain.d/$app.conf" # Restore it if the upgrade fails - ynh_restore_upgradebackup +#REMOVEME? ynh_restore_upgradebackup } # Exit if an error occurs during the execution of the script -ynh_abort_if_errors +#REMOVEME? ynh_abort_if_errors #================================================= # CHECK WHICH PARTS SHOULD BE CHANGED #================================================= -change_domain=0 -if [ "$old_domain" != "$new_domain" ] +#REMOVEME? change_domain=0 +#REMOVEME? if [ "$old_domain" != "$new_domain" ] then - change_domain=1 + #REMOVEME? change_domain=1 fi -change_path=0 -if [ "$old_path" != "$new_path" ] +#REMOVEME? change_path=0 +#REMOVEME? if [ "$old_path" != "$new_path" ] then - change_path=1 + #REMOVEME? change_path=1 fi #================================================= @@ -81,28 +81,30 @@ pkill -u $app || true #================================================= ynh_script_progression --message="Updating NGINX web server configuration..." --weight=1 -nginx_conf_path=/etc/nginx/conf.d/$old_domain.d/$app.conf +ynh_change_url_nginx_config + +#REMOVEME? nginx_conf_path=/etc/nginx/conf.d/$old_domain.d/$app.conf # Change the path in the NGINX config file if [ $change_path -eq 1 ] then # Make a backup of the original NGINX config file if modified - ynh_backup_if_checksum_is_different --file="$nginx_conf_path" +#REMOVEME? ynh_backup_if_checksum_is_different --file="$nginx_conf_path" # Set global variables for NGINX helper - domain="$old_domain" - path_url="$new_path" +#REMOVEME? domain="$old_domain" +#REMOVEME? path="$new_path" # Create a dedicated NGINX config - ynh_add_nginx_config +#REMOVEME? ynh_add_nginx_config fi # Change the domain for NGINX if [ $change_domain -eq 1 ] then # Delete file checksum for the old conf file location - ynh_delete_file_checksum --file="$nginx_conf_path" - mv $nginx_conf_path /etc/nginx/conf.d/$new_domain.d/$app.conf +#REMOVEME? ynh_delete_file_checksum --file="$nginx_conf_path" +#REMOVEME? mv $nginx_conf_path /etc/nginx/conf.d/$new_domain.d/$app.conf # Store file checksum for the new config file location - ynh_store_file_checksum --file="/etc/nginx/conf.d/$new_domain.d/$app.conf" +#REMOVEME? ynh_store_file_checksum --file="/etc/nginx/conf.d/$new_domain.d/$app.conf" fi #================================================= @@ -130,9 +132,9 @@ ynh_systemd_action --service_name=$app --action="start" --log_path=systemd --lin #================================================= # RELOAD NGINX #================================================= -ynh_script_progression --message="Reloading NGINX web server..." --weight=1 +#REMOVEME? ynh_script_progression --message="Reloading NGINX web server..." --weight=1 -ynh_systemd_action --service_name=nginx --action=reload +#REMOVEME? #REMOVEME? ynh_systemd_action --service_name=nginx --action=reload #================================================= # END OF SCRIPT diff --git a/scripts/install b/scripts/install index 86d8491..25b153f 100644 --- a/scripts/install +++ b/scripts/install @@ -13,25 +13,25 @@ source /usr/share/yunohost/helpers # MANAGE SCRIPT FAILURE #================================================= -ynh_clean_setup () { +#REMOVEME? ynh_clean_setup () { true } # Exit if an error occurs during the execution of the script -ynh_abort_if_errors +#REMOVEME? ynh_abort_if_errors #================================================= # RETRIEVE ARGUMENTS FROM THE MANIFEST #================================================= -domain=$YNH_APP_ARG_DOMAIN -path_url="/" -is_public=$YNH_APP_ARG_IS_PUBLIC -admin=$YNH_APP_ARG_ADMIN -password=$YNH_APP_ARG_PASSWORD -name="${YNH_APP_ARG_NAME// /_}" -registration=$YNH_APP_ARG_REGISTRATION -cache=$YNH_APP_ARG_CACHE -size=$YNH_APP_ARG_SIZE +#REMOVEME? domain=$YNH_APP_ARG_DOMAIN +path="/" +#REMOVEME? is_public=$YNH_APP_ARG_IS_PUBLIC +#REMOVEME? admin=$YNH_APP_ARG_ADMIN +#REMOVEME? password=$YNH_APP_ARG_PASSWORD +#REMOVEME? name="${YNH_APP_ARG_NAME// /_}" +#REMOVEME? registration=$YNH_APP_ARG_REGISTRATION +#REMOVEME? cache=$YNH_APP_ARG_CACHE +#REMOVEME? size=$YNH_APP_ARG_SIZE random_key=$(ynh_string_random --length=64) signing_salt=$(ynh_string_random --length=8) admin_email=$(ynh_user_get_info --username=$admin --key="mail") @@ -41,32 +41,32 @@ if [ ${PACKAGE_CHECK_EXEC:-0} -eq 1 ]; then admin="test" fi -app=$YNH_APP_INSTANCE_NAME +#REMOVEME? app=$YNH_APP_INSTANCE_NAME #================================================= # CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS #================================================= -ynh_script_progression --message="Validating installation parameters..." --weight=1 +#REMOVEME? ynh_script_progression --message="Validating installation parameters..." --weight=1 -final_path=/var/www/$app -test ! -e "$final_path" || ynh_die --message="This path already contains a folder" +#REMOVEME? install_dir=/var/www/$app +#REMOVEME? test ! -e "$install_dir" || ynh_die --message="This path already contains a folder" # Register (book) web path -ynh_webpath_register --app=$app --domain=$domain --path_url=$path_url +#REMOVEME? ynh_webpath_register --app=$app --domain=$domain --path=$path #================================================= # STORE SETTINGS FROM MANIFEST #================================================= -ynh_script_progression --message="Storing installation settings..." --weight=1 +#REMOVEME? ynh_script_progression --message="Storing installation settings..." --weight=1 -ynh_app_setting_set --app=$app --key=domain --value=$domain -ynh_app_setting_set --app=$app --key=path --value=$path_url -ynh_app_setting_set --app=$app --key=admin --value=$admin +#REMOVEME? ynh_app_setting_set --app=$app --key=domain --value=$domain +#REMOVEME? ynh_app_setting_set --app=$app --key=path --value=$path +#REMOVEME? ynh_app_setting_set --app=$app --key=admin --value=$admin ynh_app_setting_set --app=$app --key=name --value=$name ynh_app_setting_set --app=$app --key=registration --value=$registration ynh_app_setting_set --app=$app --key=cache --value=$cache ynh_app_setting_set --app=$app --key=size --value=$size -ynh_app_setting_set --app=$app --key=admin_email --value=$admin_email +#REMOVEME? ynh_app_setting_set --app=$app --key=admin_email --value=$admin_email ynh_app_setting_set --app=$app --key=random_key --value=$random_key ynh_app_setting_set --app=$app --key=signing_salt --value=$signing_salt @@ -75,37 +75,37 @@ ynh_app_setting_set --app=$app --key=signing_salt --value=$signing_salt #================================================= # FIND AND OPEN A PORT #================================================= -ynh_script_progression --message="Finding an available port..." --weight=1 +#REMOVEME? ynh_script_progression --message="Finding an available port..." --weight=1 # Find an available port -port=$(ynh_find_port --port=8095) -ynh_app_setting_set --app=$app --key=port --value=$port +#REMOVEME? port=$(ynh_find_port --port=8095) +#REMOVEME? ynh_app_setting_set --app=$app --key=port --value=$port #================================================= # INSTALL DEPENDENCIES #================================================= -ynh_script_progression --message="Installing dependencies..." --weight=1 +#REMOVEME? ynh_script_progression --message="Installing dependencies..." --weight=1 -ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies +#REMOVEME? ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies #================================================= # CREATE DEDICATED USER #================================================= -ynh_script_progression --message="Configuring system user..." --weight=1 +#REMOVEME? ynh_script_progression --message="Configuring system user..." --weight=1 # Create a system user -ynh_system_user_create --username=$app --home_dir="$final_path" +#REMOVEME? ynh_system_user_create --username=$app --home_dir="$install_dir" #================================================= # CREATE A POSTGRESQL DATABASE #================================================= -ynh_script_progression --message="Creating a PostgreSQL database..." --weight=1 +#REMOVEME? ynh_script_progression --message="Creating a PostgreSQL database..." --weight=1 -db_name=$(ynh_sanitize_dbid --db_name=$app) -db_user=$db_name -ynh_app_setting_set --app=$app --key=db_name --value=$db_name -ynh_psql_test_if_first_run -ynh_psql_setup_db --db_user=$db_user --db_name=$db_name +#REMOVEME? db_name=$(ynh_sanitize_dbid --db_name=$app) +#REMOVEME? db_user=$db_name +#REMOVEME? ynh_app_setting_set --app=$app --key=db_name --value=$db_name +#REMOVEME? ynh_psql_test_if_first_run +#REMOVEME? ynh_psql_setup_db --db_user=$db_user --db_name=$db_name ynh_psql_execute_as_root --sql="CREATE EXTENSION IF NOT EXISTS unaccent;" --database=$db_name ynh_psql_execute_as_root --sql="CREATE EXTENSION IF NOT EXISTS pg_trgm;" --database=$db_name ynh_psql_execute_as_root --sql="CREATE EXTENSION IF NOT EXISTS citext;" --database=$db_name @@ -116,13 +116,13 @@ ynh_psql_execute_as_root --sql="CREATE EXTENSION IF NOT EXISTS \"uuid-ossp\";" - #================================================= ynh_script_progression --message="Setting up source files..." --weight=1 -ynh_app_setting_set --app=$app --key=final_path --value=$final_path +#REMOVEME? ynh_app_setting_set --app=$app --key=install_dir --value=$install_dir # Download, check integrity, uncompress and patch the source from app.src -ynh_setup_source --dest_dir="$final_path/live" --source_id=$YNH_ARCH +ynh_setup_source --dest_dir="$install_dir/live" --source_id=$YNH_ARCH -chmod 750 "$final_path" -chmod -R o-rwx "$final_path" -chown -R $app:$app "$final_path" +chmod 750 "$install_dir" +chmod -R o-rwx "$install_dir" +chown -R $app:$app "$install_dir" #================================================= # NGINX CONFIGURATION @@ -146,19 +146,19 @@ ynh_add_nginx_config #================================================= ynh_script_progression --message="Creating a data directory..." --weight=1 -datadir=/home/yunohost.app/$app -ynh_app_setting_set --app=$app --key=datadir --value=$datadir +#REMOVEME? data_dir=/home/yunohost.app/$app +#REMOVEME? ynh_app_setting_set --app=$app --key=data_dir --value=$data_dir -mkdir -p $datadir -mkdir -p "$datadir/uploads/" -mkdir -p "$datadir/static/" -mkdir -p "$datadir/static/emoji/" -mkdir -p "$datadir/static/static/themes" -mv ../conf/styles.json "$datadir/static/styles.json" +mkdir -p $data_dir +mkdir -p "$data_dir/uploads/" +mkdir -p "$data_dir/static/" +mkdir -p "$data_dir/static/emoji/" +mkdir -p "$data_dir/static/static/themes" +mv ../conf/styles.json "$data_dir/static/styles.json" -chmod 750 "$datadir" -chmod -R o-rwx "$datadir" -chown -R $app:$app "$datadir" +chmod 750 "$data_dir" +chmod -R o-rwx "$data_dir" +chown -R $app:$app "$data_dir" #================================================= # ADD A CONFIGURATION @@ -174,7 +174,7 @@ chown $app:$app /etc/$app # SETUP SYSTEMD #================================================= ### fake akkoma executable -ln -s "$final_path/live/bin/pleroma" "$final_path/live/bin/akkoma" +ln -s "$install_dir/live/bin/pleroma" "$install_dir/live/bin/akkoma" ynh_script_progression --message="Configuring a systemd service..." --weight=1 @@ -186,9 +186,9 @@ ynh_add_systemd_config #================================================= ynh_script_progression --message="Making setup..." --weight=1 -pushd $final_path/live +pushd $install_dir/live #Generate instance - ynh_exec_warn_less ynh_exec_as $app -s $SHELL -lc "$final_path/live/bin/pleroma_ctl instance gen --force \ + ynh_exec_warn_less ynh_exec_as $app -s $SHELL -lc "$install_dir/live/bin/pleroma_ctl instance gen --force \ --output $config \ --output-psql /tmp/setup_db.psql \ --domain $domain \ @@ -202,8 +202,8 @@ pushd $final_path/live --rum N \ --indexable Y \ --db-configurable Y \ - --uploads-dir $datadir/uploads \ - --static-dir $datadir/static \ + --uploads-dir $data_dir/uploads \ + --static-dir $data_dir/static \ --listen-ip 127.0.0.1 \ --listen-port $port \ --strip-uploads Y \ @@ -225,13 +225,13 @@ ynh_replace_string --match_string="config :akkoma, configurable_from_database: f registration_bool_value=`(($registration)) && echo "true" || echo "false"` ynh_replace_string --match_string="registrations_open: true" --replace_string="registrations_open: $registration_bool_value" --target_file="$config" -pushd $final_path/live - ynh_exec_warn_less ynh_exec_as $app -s $SHELL -lc "$final_path/live/bin/pleroma_ctl migrate" +pushd $install_dir/live + ynh_exec_warn_less ynh_exec_as $app -s $SHELL -lc "$install_dir/live/bin/pleroma_ctl migrate" ynh_systemd_action --service_name=$app --action="start" --log_path=systemd --line_match="Access Pleroma.Web.Endpoint" # Add user - ynh_exec_warn_less ynh_exec_as $app -s $SHELL -lc "$final_path/live/bin/pleroma_ctl user new $admin $admin_email --password $password --moderator --admin -y" + ynh_exec_warn_less ynh_exec_as $app -s $SHELL -lc "$install_dir/live/bin/pleroma_ctl user new $admin $admin_email --password $password --moderator --admin -y" ynh_systemd_action --service_name=$app --action="stop" --log_path=systemd popd @@ -266,27 +266,27 @@ ynh_systemd_action --service_name=$app --action="start" --log_path=systemd --lin #================================================= # SETUP SSOWAT #================================================= -ynh_script_progression --message="Configuring permissions..." --weight=1 +#REMOVEME? ynh_script_progression --message="Configuring permissions..." --weight=1 # Make app public if necessary -if [ $is_public -eq 1 ] +#REMOVEME? if [ $is_public -eq 1 ] then # Everyone can access the app. # The "main" permission is automatically created before the install script. - ynh_permission_update --permission="main" --add="visitors" +#REMOVEME? ynh_permission_update --permission="main" --add="visitors" fi # Everyone can access to the api part # We don't want to display the tile in the sso so we put --show_tile="false" # And we don't want that the YunoHost Admin can remove visitors group to this permission, so we put --protected="true" -ynh_permission_create --permission="api" --url="/api" --allowed="visitors" --auth_header="false" --show_tile="false" --protected="true" +#REMOVEME? ynh_permission_create --permission="api" --url="/api" --allowed="visitors" --auth_header="false" --show_tile="false" --protected="true" #================================================= # RELOAD NGINX #================================================= -ynh_script_progression --message="Reloading NGINX web server..." --weight=1 +#REMOVEME? ynh_script_progression --message="Reloading NGINX web server..." --weight=1 -ynh_systemd_action --service_name=nginx --action=reload +#REMOVEME? ynh_systemd_action --service_name=nginx --action=reload #================================================= # POST INSTALL @@ -295,7 +295,7 @@ ynh_systemd_action --service_name=nginx --action=reload ynh_script_progression --message="Configure admin UI to allow it to change setting - step 2/2" --weight=1 # Correct path to 'static dir' in DB # This must be done when Akkoma is running (i.e. after install and start) -ynh_exec_warn_less ynh_exec_as $app -s $SHELL -lc "$final_path/live/bin/pleroma_ctl config migrate_to_db" +ynh_exec_warn_less ynh_exec_as $app -s $SHELL -lc "$install_dir/live/bin/pleroma_ctl config migrate_to_db" #================================================= # INSTALL BASIC FRONTENDS @@ -304,18 +304,18 @@ ynh_exec_warn_less ynh_exec_as $app -s $SHELL -lc "$final_path/live/bin/pleroma_ # Pleroma Front-End ynh_script_progression --message="Installing Pleroma FrontEnd..." --weight=1 -ynh_exec_warn_less ynh_exec_as $app -s $SHELL -lc "$final_path/live/bin/pleroma_ctl frontend install pleroma-fe --ref stable" +ynh_exec_warn_less ynh_exec_as $app -s $SHELL -lc "$install_dir/live/bin/pleroma_ctl frontend install pleroma-fe --ref stable" # Admin Front-End ynh_script_progression --message="Installing Admin FrontEnd..." --weight=1 -ynh_exec_warn_less ynh_exec_as $app -s $SHELL -lc "$final_path/live/bin/pleroma_ctl frontend install admin-fe --ref stable" +ynh_exec_warn_less ynh_exec_as $app -s $SHELL -lc "$install_dir/live/bin/pleroma_ctl frontend install admin-fe --ref stable" #================================================= # INSTALL MANGANE FRONTEND #================================================= # Mangane alternative Front-End will be built in, ready to enable ynh_script_progression --message="Installing Mangane FrontEnd..." --weight=1 -ynh_exec_warn_less ynh_exec_as $app -s $SHELL -lc "$final_path/live/bin/pleroma_ctl frontend install mangane --ref dist --build-url https://github.com/BDX-town/Mangane/releases/latest/download/static.zip" +ynh_exec_warn_less ynh_exec_as $app -s $SHELL -lc "$install_dir/live/bin/pleroma_ctl frontend install mangane --ref dist --build-url https://github.com/BDX-town/Mangane/releases/latest/download/static.zip" # Not activated, users need to change the "primary" frontend in the admin UI (use 'mangane' and 'dist'). #================================================= diff --git a/scripts/remove b/scripts/remove index c89865f..bfe088a 100644 --- a/scripts/remove +++ b/scripts/remove @@ -14,14 +14,14 @@ source /usr/share/yunohost/helpers #================================================= ynh_script_progression --message="Loading settings..." --weight=1 -app=$YNH_APP_INSTANCE_NAME +#REMOVEME? app=$YNH_APP_INSTANCE_NAME -domain=$(ynh_app_setting_get --app=$app --key=domain) -port=$(ynh_app_setting_get --app=$app --key=port) -db_name=$(ynh_app_setting_get --app=$app --key=db_name) -db_user=$db_name -final_path=$(ynh_app_setting_get --app=$app --key=final_path) -datadir=$(ynh_app_setting_get --app=$app --key=datadir) +#REMOVEME? domain=$(ynh_app_setting_get --app=$app --key=domain) +#REMOVEME? port=$(ynh_app_setting_get --app=$app --key=port) +#REMOVEME? db_name=$(ynh_app_setting_get --app=$app --key=db_name) +#REMOVEME? db_user=$db_name +#REMOVEME? #REMOVEME? install_dir=$(ynh_app_setting_get --app=$app --key=install_dir) +#REMOVEME? data_dir=$(ynh_app_setting_get --app=$app --key=data_dir) #================================================= # STANDARD REMOVE @@ -51,18 +51,18 @@ ynh_remove_systemd_config #================================================= # REMOVE THE POSTGRESQL DATABASE #================================================= -ynh_script_progression --message="Removing the PostgreSQL database..." --weight=1 +#REMOVEME? ynh_script_progression --message="Removing the PostgreSQL database..." --weight=1 # Remove a database if it exists, along with the associated user -ynh_psql_remove_db --db_user=$db_user --db_name=$db_name +#REMOVEME? ynh_psql_remove_db --db_user=$db_user --db_name=$db_name #================================================= # REMOVE APP MAIN DIR #================================================= -ynh_script_progression --message="Removing app main directory..." --weight=1 +#REMOVEME? ynh_script_progression --message="Removing app main directory..." --weight=1 # Remove the app directory securely -ynh_secure_remove --file="$final_path" +#REMOVEME? ynh_secure_remove --file="$install_dir" #================================================= # REMOVE DATA DIR @@ -72,7 +72,7 @@ ynh_secure_remove --file="$final_path" if [ "${YNH_APP_PURGE:-0}" -eq 1 ] then ynh_script_progression --message="Purge option was selected. Removing app data directory..." --weight=1 - ynh_secure_remove --file="$datadir" +#REMOVEME? ynh_secure_remove --file="$data_dir" else ynh_script_progression --message="Purge option was not selected. App data directory is not removed. That is good if you want to restore a backup. For fresh install, you should remove it first." --weight=1 fi @@ -89,10 +89,10 @@ ynh_secure_remove --file="/etc/nginx/conf.d/$app-cache.conf" #================================================= # REMOVE DEPENDENCIES #================================================= -ynh_script_progression --message="Removing dependencies..." --weight=1 +#REMOVEME? ynh_script_progression --message="Removing dependencies..." --weight=1 # Remove metapackage and its dependencies -ynh_remove_app_dependencies +#REMOVEME? ynh_remove_app_dependencies #================================================= # CLOSE A PORT @@ -119,10 +119,10 @@ ynh_secure_remove --file="/etc/$app" #================================================= # REMOVE DEDICATED USER #================================================= -ynh_script_progression --message="Removing the dedicated system user..." --weight=1 +#REMOVEME? ynh_script_progression --message="Removing the dedicated system user..." --weight=1 # Delete a system user -ynh_system_user_delete --username=$app +#REMOVEME? ynh_system_user_delete --username=$app #================================================= # END OF SCRIPT diff --git a/scripts/restore b/scripts/restore index 78650f1..34414dc 100644 --- a/scripts/restore +++ b/scripts/restore @@ -14,82 +14,82 @@ source /usr/share/yunohost/helpers # MANAGE SCRIPT FAILURE #================================================= -ynh_clean_setup () { +#REMOVEME? ynh_clean_setup () { true } # Exit if an error occurs during the execution of the script -ynh_abort_if_errors +#REMOVEME? ynh_abort_if_errors #================================================= # LOAD SETTINGS #================================================= ynh_script_progression --message="Loading settings..." --weight=1 -app=$YNH_APP_INSTANCE_NAME +#REMOVEME? app=$YNH_APP_INSTANCE_NAME -domain=$(ynh_app_setting_get --app=$app --key=domain) -path_url=$(ynh_app_setting_get --app=$app --key=path) -final_path=$(ynh_app_setting_get --app=$app --key=final_path) -db_name=$(ynh_app_setting_get --app=$app --key=db_name) -db_user=$db_name -port=$(ynh_app_setting_get --app=$app --key=port) -cache=$(ynh_app_setting_get --app=$app --key=cache) -datadir=$(ynh_app_setting_get --app=$app --key=datadir) +#REMOVEME? domain=$(ynh_app_setting_get --app=$app --key=domain) +#REMOVEME? path=$(ynh_app_setting_get --app=$app --key=path) +#REMOVEME? #REMOVEME? install_dir=$(ynh_app_setting_get --app=$app --key=install_dir) +#REMOVEME? db_name=$(ynh_app_setting_get --app=$app --key=db_name) +#REMOVEME? db_user=$db_name +#REMOVEME? port=$(ynh_app_setting_get --app=$app --key=port) +#REMOVEME? cache=$(ynh_app_setting_get --app=$app --key=cache) +#REMOVEME? data_dir=$(ynh_app_setting_get --app=$app --key=data_dir) #================================================= # CHECK IF THE APP CAN BE RESTORED #================================================= -ynh_script_progression --message="Validating restoration parameters..." --weight=1 +#REMOVEME? ynh_script_progression --message="Validating restoration parameters..." --weight=1 -test ! -d $final_path \ - || ynh_die --message="There is already a directory: $final_path " +#REMOVEME? test ! -d $install_dir \ + || ynh_die --message="There is already a directory: $install_dir " #================================================= # STANDARD RESTORATION STEPS #================================================= # RECREATE THE DEDICATED USER #================================================= -ynh_script_progression --message="Recreating the dedicated system user..." --weight=1 +#REMOVEME? ynh_script_progression --message="Recreating the dedicated system user..." --weight=1 # Create the dedicated user (if not existing) -ynh_system_user_create --username=$app --home_dir="$final_path" +#REMOVEME? ynh_system_user_create --username=$app --home_dir="$install_dir" #================================================= # RESTORE THE APP MAIN DIR #================================================= ynh_script_progression --message="Restoring the app main directory..." --weight=1 -ynh_restore_file --origin_path="$final_path" +ynh_restore_file --origin_path="$install_dir" -chmod 750 "$final_path" -chmod -R o-rwx "$final_path" -chown -R $app:$app "$final_path" +chmod 750 "$install_dir" +chmod -R o-rwx "$install_dir" +chown -R $app:$app "$install_dir" #================================================= # RESTORE THE DATA DIRECTORY #================================================= ynh_script_progression --message="Restoring the data directory..." --weight=1 -ynh_restore_file --origin_path="$datadir" --not_mandatory +ynh_restore_file --origin_path="$data_dir" --not_mandatory -mkdir -p $datadir -mkdir -p "$datadir/uploads/" -mkdir -p "$datadir/static/" -mkdir -p "$datadir/static/emoji/" +mkdir -p $data_dir +mkdir -p "$data_dir/uploads/" +mkdir -p "$data_dir/static/" +mkdir -p "$data_dir/static/emoji/" -chmod 750 "$datadir" -chmod -R o-rwx "$datadir" -chown -R $app:$app "$datadir" +chmod 750 "$data_dir" +chmod -R o-rwx "$data_dir" +chown -R $app:$app "$data_dir" #================================================= # SPECIFIC RESTORATION #================================================= # REINSTALL DEPENDENCIES #================================================= -ynh_script_progression --message="Reinstalling dependencies..." --weight=1 +#REMOVEME? ynh_script_progression --message="Reinstalling dependencies..." --weight=1 # Define and install dependencies -ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies +#REMOVEME? ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies #================================================= # RESTORE THE NGINX CONFIGURATION @@ -106,11 +106,11 @@ fi #================================================= # RESTORE THE POSTGRESQL DATABASE #================================================= -ynh_script_progression --message="Restoring the PostgreSQL database..." --weight=1 +#REMOVEME? ynh_script_progression --message="Restoring the PostgreSQL database..." --weight=1 -db_pwd=$(ynh_app_setting_get --app=$app --key=psqlpwd) -ynh_psql_test_if_first_run -ynh_psql_setup_db --db_user=$db_user --db_name=$db_name --db_pwd=$db_pwd +#REMOVEME? db_pwd=$(ynh_app_setting_get --app=$app --key=psqlpwd) +#REMOVEME? ynh_psql_test_if_first_run +#REMOVEME? ynh_psql_setup_db --db_user=$db_user --db_name=$db_name --db_pwd=$db_pwd ynh_psql_execute_as_root --sql="CREATE EXTENSION IF NOT EXISTS unaccent;" --database=$db_name ynh_psql_execute_as_root --sql="CREATE EXTENSION IF NOT EXISTS pg_trgm;" --database=$db_name ynh_psql_execute_as_root --sql="CREATE EXTENSION IF NOT EXISTS citext;" --database=$db_name diff --git a/scripts/upgrade b/scripts/upgrade index db9d50e..9afab58 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -15,22 +15,22 @@ source /usr/share/yunohost/helpers #================================================= ynh_script_progression --message="Loading settings..." --weight=1 -app=$YNH_APP_INSTANCE_NAME +#REMOVEME? app=$YNH_APP_INSTANCE_NAME -domain=$(ynh_app_setting_get --app=$app --key=domain) -path_url=$(ynh_app_setting_get --app=$app --key=path) -admin=$(ynh_app_setting_get --app=$app --key=admin) -final_path=$(ynh_app_setting_get --app=$app --key=final_path) -db_name=$(ynh_app_setting_get --app=$app --key=db_name) -db_user=$db_name -db_pwd=$(ynh_app_setting_get --app=$app --key=psqlpwd) -admin_email=$(ynh_app_setting_get --app=$app --key=admin_email) -random_key=$(ynh_app_setting_get --app=$app --key=random_key) -name=$(ynh_app_setting_get --app=$app --key=name) -port=$(ynh_app_setting_get --app=$app --key=port) -cache=$(ynh_app_setting_get --app=$app --key=cache) -size=$(ynh_app_setting_get --app=$app --key=size) -registration=$(ynh_app_setting_get --app=$app --key=registration) +#REMOVEME? domain=$(ynh_app_setting_get --app=$app --key=domain) +#REMOVEME? path=$(ynh_app_setting_get --app=$app --key=path) +#REMOVEME? admin=$(ynh_app_setting_get --app=$app --key=admin) +#REMOVEME? #REMOVEME? install_dir=$(ynh_app_setting_get --app=$app --key=install_dir) +#REMOVEME? db_name=$(ynh_app_setting_get --app=$app --key=db_name) +#REMOVEME? db_user=$db_name +#REMOVEME? db_pwd=$(ynh_app_setting_get --app=$app --key=psqlpwd) +#REMOVEME? admin_email=$(ynh_app_setting_get --app=$app --key=admin_email) +#REMOVEME? random_key=$(ynh_app_setting_get --app=$app --key=random_key) +#REMOVEME? name=$(ynh_app_setting_get --app=$app --key=name) +#REMOVEME? port=$(ynh_app_setting_get --app=$app --key=port) +#REMOVEME? cache=$(ynh_app_setting_get --app=$app --key=cache) +#REMOVEME? size=$(ynh_app_setting_get --app=$app --key=size) +#REMOVEME? registration=$(ynh_app_setting_get --app=$app --key=registration) #================================================= # CHECK VERSION @@ -54,16 +54,16 @@ previous_version="${version}" #================================================= # BACKUP BEFORE UPGRADE THEN ACTIVE TRAP #================================================= -ynh_script_progression --message="Backing up the app before upgrading (may take a while)..." --weight=1 +#REMOVEME? ynh_script_progression --message="Backing up the app before upgrading (may take a while)..." --weight=1 # Backup the current version of the app -ynh_backup_before_upgrade -ynh_clean_setup () { +#REMOVEME? ynh_backup_before_upgrade +#REMOVEME? ynh_clean_setup () { # Restore it if the upgrade fails - ynh_restore_upgradebackup +#REMOVEME? ynh_restore_upgradebackup } # Exit if an error occurs during the execution of the script -ynh_abort_if_errors +#REMOVEME? ynh_abort_if_errors #================================================= # STANDARD UPGRADE STEPS @@ -84,21 +84,21 @@ fi ynh_script_progression --message="Ensuring downward compatibility..." --weight=1 # Cleaning legacy permissions -if ynh_legacy_permissions_exists; then - ynh_legacy_permissions_delete_all +#REMOVEME? if ynh_legacy_permissions_exists; then +#REMOVEME? ynh_legacy_permissions_delete_all ynh_app_setting_delete --app=$app --key=is_public fi # Create a permission if needed -if ! ynh_permission_exists --permission="api"; then - ynh_permission_create --permission="api" --url="/api" --allowed="visitors" --auth_header="false" --show_tile="false" --protected="true" +#REMOVEME? if ! ynh_permission_exists --permission="api"; then +#REMOVEME? ynh_permission_create --permission="api" --url="/api" --allowed="visitors" --auth_header="false" --show_tile="false" --protected="true" fi # If db_name doesn't exist, create it if [ -z "$db_name" ]; then db_name=$(ynh_sanitize_dbid --db_name=$app) - ynh_app_setting_set --app=$app --key=db_name --value=$db_name +#REMOVEME? ynh_app_setting_set --app=$app --key=db_name --value=$db_name fi # If db_user doesn't exist, create it @@ -108,17 +108,17 @@ fi # If db_pwd doesn't exist, create it if [ -z "$db_pwd" ]; then - db_pwd=$(ynh_app_setting_get --app=$app --key=db_pwd) - ynh_app_setting_set --app=$app --key=psqlpwd --value=$db_pwd +#REMOVEME? db_pwd=$(ynh_app_setting_get --app=$app --key=db_pwd) +#REMOVEME? ynh_app_setting_set --app=$app --key=psqlpwd --value=$db_pwd fi # Switch variables name -psql_db=$(ynh_app_setting_get --app=$app --key=psql_db) +#REMOVEME? psql_db=$(ynh_app_setting_get --app=$app --key=psql_db) if [ -n "$psql_db" ] then - db_name=$(ynh_app_setting_get --app=$app --key=psql_db) - ynh_app_setting_set --app=$app --key=db_name --value=$db_name +#REMOVEME? db_name=$(ynh_app_setting_get --app=$app --key=psql_db) +#REMOVEME? ynh_app_setting_set --app=$app --key=db_name --value=$db_name ynh_app_setting_delete --app=$app --key=psql_db fi @@ -133,18 +133,18 @@ fi ynh_secure_remove --file="/etc/apt/sources.list.d/erlang-solutions.list" apt-key del A14F4FCA -# Switch to $final_path/live -if [ ! -d "$final_path/live" ]; then - mv $final_path/$app $final_path/live +# Switch to $install_dir/live +if [ ! -d "$install_dir/live" ]; then + mv $install_dir/$app $install_dir/live fi #================================================= # CREATE DEDICATED USER #================================================= -ynh_script_progression --message="Making sure dedicated system user exists..." --weight=1 +#REMOVEME? ynh_script_progression --message="Making sure dedicated system user exists..." --weight=1 # Create a dedicated user (if not existing) -ynh_system_user_create --username=$app --home_dir="$final_path" +#REMOVEME? ynh_system_user_create --username=$app --home_dir="$install_dir" #================================================= # UPGRADE TO OTP RELEASE @@ -155,35 +155,35 @@ if ynh_version_gt "1.1.1~ynh1" "${previous_version}" ; then ynh_script_progression --message="Upgrading to OTP release..." --weight=1 # Define app's data directory - datadir="/home/yunohost.app/${app}" - ynh_app_setting_set --app=$app --key=datadir --value="$datadir" + data_dir="/home/yunohost.app/${app}" +#REMOVEME? ynh_app_setting_set --app=$app --key=data_dir --value="$data_dir" # Create app folders - mkdir -p "$datadir/" - mkdir -p "$datadir/uploads/" - mkdir -p "$datadir/static/" - mkdir -p "$datadir/static/emoji/" + mkdir -p "$data_dir/" + mkdir -p "$data_dir/uploads/" + mkdir -p "$data_dir/static/" + mkdir -p "$data_dir/static/emoji/" - # Give permission to the datadir - chown -R "$app":"$app" "$datadir" + # Give permission to the data_dir + chown -R "$app":"$app" "$data_dir" - rsync -a "$final_path/live/uploads/" "$datadir/uploads/" - if [ -d "$final_path/live/instance/static/" ]; then - rsync -a "$final_path/live/instance/static/" "$datadir/static/" + rsync -a "$install_dir/live/uploads/" "$data_dir/uploads/" + if [ -d "$install_dir/live/instance/static/" ]; then + rsync -a "$install_dir/live/instance/static/" "$data_dir/static/" fi - rsync -a "$final_path/live/priv/static/emoji/" "$datadir/static/emoji/" + rsync -a "$install_dir/live/priv/static/emoji/" "$data_dir/static/emoji/" mkdir -p /etc/$app chown -R $app /etc/$app - mv $final_path/live/config/prod.secret.exs $config + mv $install_dir/live/config/prod.secret.exs $config ynh_replace_string --match_string="use Mix.Config" --replace_string="import Config" --target_file="$config" echo "config :akkoma, :instance, static_dir: \"/home/yunohost.app/$app/static\"" >> $config echo "config :akkoma, akkoma.Uploaders.Local, uploads: \"/home/yunohost.app/$app/uploads\"" >> $config ynh_backup_if_checksum_is_different --file="$config" - ynh_secure_remove --file="$final_path/live" +#REMOVEME? ynh_secure_remove --file="$install_dir/live" fi if ynh_version_gt "2.0.5~ynh1" "${previous_version}" ; then @@ -214,21 +214,21 @@ if [ "$upgrade_type" == "UPGRADE_APP" ] then ynh_script_progression --message="Upgrading source files..." --weight=1 - ynh_secure_remove --file="$final_path/live" +#REMOVEME? ynh_secure_remove --file="$install_dir/live" # Download, check integrity, uncompress and patch the source from app.src - ynh_setup_source --dest_dir="$final_path/live" --source_id=$YNH_ARCH + ynh_setup_source --dest_dir="$install_dir/live" --source_id=$YNH_ARCH fi -chmod 750 "$final_path" -chmod -R o-rwx "$final_path" -chown -R $app:$app "$final_path" +chmod 750 "$install_dir" +chmod -R o-rwx "$install_dir" +chown -R $app:$app "$install_dir" #================================================= # UPGRADE DEPENDENCIES #================================================= -ynh_script_progression --message="Upgrading dependencies..." --weight=1 +#REMOVEME? ynh_script_progression --message="Upgrading dependencies..." --weight=1 -ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies +#REMOVEME? ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies #================================================= # NGINX CONFIGURATION @@ -252,8 +252,8 @@ ynh_add_nginx_config #================================================= ynh_script_progression --message="Making upgrade..." --weight=1 -pushd $final_path/live - ynh_exec_warn_less ynh_exec_as $app -s $SHELL -lc "$final_path/live/bin/pleroma_ctl migrate" +pushd $install_dir/live + ynh_exec_warn_less ynh_exec_as $app -s $SHELL -lc "$install_dir/live/bin/pleroma_ctl migrate" popd #================================================= @@ -299,26 +299,26 @@ ynh_systemd_action --service_name=$app --action="start" --log_path=systemd --lin # Pleroma Front-End ynh_script_progression --message="Upgrading Pleroma FrontEnd..." --weight=1 -ynh_exec_warn_less ynh_exec_as $app -s $SHELL -lc "$final_path/live/bin/pleroma_ctl frontend install pleroma-fe --ref stable" +ynh_exec_warn_less ynh_exec_as $app -s $SHELL -lc "$install_dir/live/bin/pleroma_ctl frontend install pleroma-fe --ref stable" # Admin Front-End ynh_script_progression --message="Upgrading Admin FrontEnd..." --weight=1 -ynh_exec_warn_less ynh_exec_as $app -s $SHELL -lc "$final_path/live/bin/pleroma_ctl frontend install admin-fe --ref stable" +ynh_exec_warn_less ynh_exec_as $app -s $SHELL -lc "$install_dir/live/bin/pleroma_ctl frontend install admin-fe --ref stable" #================================================= # INSTALL MANGANE FRONTEND (Upgrade it) #================================================= # Mangane alternative Front-End will be built in, ready to enable ynh_script_progression --message="Upgrading Mangane FrontEnd..." --weight=1 -ynh_exec_warn_less ynh_exec_as $app -s $SHELL -lc "$final_path/live/bin/pleroma_ctl frontend install mangane --ref dist --build-url https://github.com/BDX-town/Mangane/releases/latest/download/static.zip" +ynh_exec_warn_less ynh_exec_as $app -s $SHELL -lc "$install_dir/live/bin/pleroma_ctl frontend install mangane --ref dist --build-url https://github.com/BDX-town/Mangane/releases/latest/download/static.zip" # Not activated, users need to change the "primary" frontend in the admin UI (use 'mangane' and 'dist'). #================================================= # RELOAD NGINX #================================================= -ynh_script_progression --message="Reloading NGINX web server..." --weight=1 +#REMOVEME? ynh_script_progression --message="Reloading NGINX web server..." --weight=1 -ynh_systemd_action --service_name=nginx --action=reload +#REMOVEME? ynh_systemd_action --service_name=nginx --action=reload #================================================= # END OF SCRIPT