diff --git a/check_process b/check_process index d97cd59..b249208 100644 --- a/check_process +++ b/check_process @@ -11,6 +11,7 @@ setup_private=1 setup_public=1 upgrade=1 + upgrade=1 from_commit=4fe78843712dc1adc189830d2dde5f78bb17d747 backup_restore=1 multi_instance=1 incorrect_path=1 diff --git a/scripts/backup b/scripts/backup index 9db7830..e79f044 100644 --- a/scripts/backup +++ b/scripts/backup @@ -14,10 +14,6 @@ source /usr/share/yunohost/helpers # MANAGE SCRIPT FAILURE #================================================= -ynh_clean_setup () { - ### Remove this function if there's nothing to clean before calling the remove script. - true -} # Exit if an error occurs during the execution of the script ynh_abort_if_errors diff --git a/scripts/change_url b/scripts/change_url index b7a7530..4278d43 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -31,8 +31,7 @@ ynh_print_info "Loading installation settings..." final_path=$(ynh_app_setting_get $app final_path) # Add settings here as needed by your application -#db_name=$(ynh_app_setting_get "$app" db_name) -#db_pwd=$(ynh_app_setting_get $app db_pwd) + db_name=$(ynh_app_setting_get $app db_name) port=$(ynh_app_setting_get $app port) diff --git a/scripts/install b/scripts/install index 08952c6..e56e461 100755 --- a/scripts/install +++ b/scripts/install @@ -14,10 +14,6 @@ source /usr/share/yunohost/helpers # MANAGE SCRIPT FAILURE #================================================= -ynh_clean_setup () { - ### Remove this function if there's nothing to clean before calling the remove script. - true -} # Exit if an error occurs during the execution of the script ynh_abort_if_errors @@ -25,11 +21,12 @@ ynh_abort_if_errors # RETRIEVE ARGUMENTS FROM THE MANIFEST #================================================= -app=$YNH_APP_INSTANCE_NAME domain=$YNH_APP_ARG_DOMAIN path_url=$YNH_APP_ARG_PATH is_public=$YNH_APP_ARG_IS_PUBLIC +app=$YNH_APP_INSTANCE_NAME + #================================================= # CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS #================================================= @@ -55,28 +52,23 @@ ynh_print_info "Storing installation settings..." ynh_app_setting_set $app domain $domain ynh_app_setting_set $app path $path_url ynh_app_setting_set $app is_public $is_public -ynh_app_setting_set $app final_path $final_path + +#================================================= +# STANDARD MODIFICATIONS +#================================================= +# FIND AND OPEN A PORT +#================================================= +ynh_print_info "Configuring firewall..." # Find a free port port=$(ynh_find_port 8095) ynh_app_setting_set $app port $port -# Registering db name -db_name=$(ynh_sanitize_dbid $app) -ynh_app_setting_set $app db_name $db_name - #================================================= # INSTALL DEPENDENCIES #================================================= ynh_print_info "Installing dependencies..." -### `ynh_install_app_dependencies` allows you to add any "apt" dependencies to the package. -### Those deb packages will be installed as dependencies of this package. -### If you're not using this helper: -### - Remove the section "REMOVE DEPENDENCIES" in the remove script -### - As well as the section "REINSTALL DEPENDENCIES" in the restore script -### - And the section "UPGRADE DEPENDENCIES" in the upgrade script - ynh_install_nodejs 8.15.1 ynh_use_nodejs @@ -91,15 +83,16 @@ ynh_print_info "Starting mongodb ..." systemctl enable mongodb systemctl restart mongodb +# Registering db name +db_name=$(ynh_sanitize_dbid $app) +ynh_app_setting_set $app db_name $db_name + #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE #================================================= ynh_print_info "Setting up wekan source files..." -### `ynh_setup_source` is used to install an app from a zip or tar.gz file, -### downloaded from an upstream source, like a git repository. -### `ynh_setup_source` use the file conf/app.src - +ynh_app_setting_set $app final_path $final_path # Download, check integrity, uncompress and patch the source from app.src ynh_setup_source "$final_path" @@ -108,8 +101,6 @@ ynh_setup_source "$final_path" #================================================= ynh_print_info "Configuring nginx web server..." -### `ynh_add_nginx_config` will use the file conf/nginx.conf - # Create a dedicated nginx config ynh_add_nginx_config @@ -128,17 +119,6 @@ ynh_system_user_create $app "$final_path" #================================================= ynh_print_info "Configuring a systemd service..." -### `ynh_systemd_config` is used to configure a systemd script for an app. -### It can be used for apps that use sysvinit (with adaptation) or systemd. -### Have a look at the app to be sure this app needs a systemd script. -### `ynh_systemd_config` will use the file conf/systemd.service -### If you're not using these lines: -### - You can remove those files in conf/. -### - Remove the section "BACKUP SYSTEMD" in the backup script -### - Remove also the section "STOP AND REMOVE SERVICE" in the remove script -### - As well as the section "RESTORE SYSTEMD" in the restore script -### - And the section "SETUP SYSTEMD" in the upgrade script - # Create a dedicated systemd config ynh_replace_string "__NODEJS_PATH__" "$nodejs_path" "../conf/systemd.service" ynh_add_systemd_config @@ -147,8 +127,6 @@ ynh_add_systemd_config # MODIFY A CONFIG FILE #================================================= -### `ynh_replace_string` is used to replace a string in a file. -### (It's compatible with sed regular expressions syntax) cp "../conf/.env" "$final_path/.env" ynh_replace_string "__NODEJS_PATH__" "$nodejs_path" "$final_path/.env" @@ -160,10 +138,6 @@ ynh_replace_string "__PORT__" "$port" "$final_path/.env" # STORE THE CONFIG FILE CHECKSUM #================================================= -### `ynh_store_file_checksum` is used to store the checksum of a file. -### That way, during the upgrade script, by using `ynh_backup_if_checksum_is_different`, -### you can make a backup of this file before modifying it again if the admin had modified it. - # Calculate and store the config file checksum into the app settings ynh_store_file_checksum "$final_path/.env" @@ -174,9 +148,6 @@ ynh_store_file_checksum "$final_path/.env" #================================================= ynh_print_info "Configuring file permissions ..." -### For security reason, any app should set the permissions to root: before anything else. -### Then, if write authorization is needed, any access should be given only to directories -### that really need such authorization. # Set strong right permissions to app files chown -R $app: "$final_path" chmod -R 640 "$final_path" @@ -186,14 +157,6 @@ find "$final_path" -type d -print0 | xargs -0 chmod 750 # ADVERTISE SERVICE IN ADMIN PANEL #================================================= -### `yunohost service add` is a CLI yunohost command to add a service in the admin panel. -### You'll find the service in the 'services' section of YunoHost admin panel. -### This CLI command would be useless if the app does not have any services (systemd or sysvinit) -### If you're not using these lines: -### - You can remove these files in conf/. -### - Remove the section "REMOVE SERVICE FROM ADMIN PANEL" in the remove script -### - As well as the section ADVERTISE SERVICE IN ADMIN PANEL" in the restore script - yunohost service add mongodb --log "/var/log/mongodb/mongodb.log" yunohost service add $app diff --git a/scripts/remove b/scripts/remove index 9e7b861..61ab06e 100755 --- a/scripts/remove +++ b/scripts/remove @@ -29,7 +29,7 @@ final_path=$(ynh_app_setting_get $app final_path) #================================================= # Remove a service from the admin panel, added by `yunohost service add` -if yunohost service status | grep -q $app +if yunohost service status $app >/dev/null 2>&1 then ynh_print_info "Removing $app service" yunohost service remove $app diff --git a/scripts/restore b/scripts/restore index 9f0b9c1..c036dea 100644 --- a/scripts/restore +++ b/scripts/restore @@ -14,10 +14,6 @@ source /usr/share/yunohost/helpers # MANAGE SCRIPT FAILURE #================================================= -ynh_clean_setup () { - #### Remove this function if there's nothing to clean before calling the remove script. - true -} # Exit if an error occurs during the execution of the script ynh_abort_if_errors