mirror of
https://github.com/YunoHost-Apps/firefly-iii_ynh.git
synced 2024-09-03 18:36:13 +02:00
Fix upgrade script
This commit is contained in:
parent
afc6e45719
commit
af0886c7f4
3 changed files with 317 additions and 8 deletions
152
scripts/restore.orig
Executable file
152
scripts/restore.orig
Executable file
|
@ -0,0 +1,152 @@
|
|||
#!/bin/bash
|
||||
|
||||
#=================================================
|
||||
# GENERIC START
|
||||
#=================================================
|
||||
# IMPORT GENERIC HELPERS
|
||||
#=================================================
|
||||
|
||||
if [ ! -e _common.sh ]; then
|
||||
# Get the _common.sh file if it's not in the current directory
|
||||
cp ../settings/scripts/_common.sh ./_common.sh
|
||||
chmod a+rx _common.sh
|
||||
fi
|
||||
|
||||
source _common.sh
|
||||
source /usr/share/yunohost/helpers
|
||||
|
||||
#=================================================
|
||||
# MANAGE SCRIPT FAILURE
|
||||
#=================================================
|
||||
|
||||
# Exit if an error occurs during the execution of the script
|
||||
ynh_abort_if_errors
|
||||
|
||||
#=================================================
|
||||
# LOAD SETTINGS
|
||||
#=================================================
|
||||
ynh_script_progression --message="Loading settings..." --time --weight=1
|
||||
|
||||
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
|
||||
|
||||
#=================================================
|
||||
# CHECK IF THE APP CAN BE RESTORED
|
||||
#=================================================
|
||||
ynh_script_progression --message="Validating restoration parameters..." --time --weight=1
|
||||
|
||||
ynh_webpath_available --domain=$domain --path_url=$path_url \
|
||||
|| ynh_die --message="Path not available: ${domain}${path_url}"
|
||||
test ! -d $final_path \
|
||||
|| ynh_die --message="There is already a directory: $final_path "s
|
||||
|
||||
#=================================================
|
||||
# STANDARD RESTORATION STEPS
|
||||
#=================================================
|
||||
# RESTORE THE NGINX CONFIGURATION
|
||||
#=================================================
|
||||
|
||||
ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf"
|
||||
|
||||
#=================================================
|
||||
# RESTORE THE APP MAIN DIR
|
||||
#=================================================
|
||||
|
||||
ynh_script_progression --message="Restoring the app main directory..." --time --weight=1
|
||||
|
||||
ynh_restore_file --origin_path="$final_path"
|
||||
|
||||
#=================================================
|
||||
# RECREATE THE DEDICATED USER
|
||||
#=================================================
|
||||
ynh_script_progression --message="Recreating the dedicated system user..." --time --weight=1
|
||||
|
||||
# Create the dedicated user (if not existing)
|
||||
ynh_system_user_create --username=$app
|
||||
|
||||
#=================================================
|
||||
# RESTORE USER RIGHTS
|
||||
#=================================================
|
||||
|
||||
# Restore permissions on app files
|
||||
chown -R $app: $final_path
|
||||
|
||||
#=================================================
|
||||
# RESTORE THE PHP-FPM CONFIGURATION
|
||||
#=================================================
|
||||
|
||||
ynh_restore_file --origin_path="/etc/php/$phpversion/fpm/pool.d/$app.conf"
|
||||
|
||||
#=================================================
|
||||
# SPECIFIC RESTORATION
|
||||
#=================================================
|
||||
# REINSTALL DEPENDENCIES
|
||||
#=================================================
|
||||
ynh_script_progression --message="Reinstalling dependencies..." --time --weight=1
|
||||
|
||||
# Define and install dependencies
|
||||
ynh_install_app_dependencies $pkg_dependencies
|
||||
|
||||
#=================================================
|
||||
# RESTORE THE MYSQL DATABASE
|
||||
#=================================================
|
||||
ynh_script_progression --message="Restoring the MySQL database..." --time --weight=1
|
||||
|
||||
db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd)
|
||||
ynh_mysql_setup_db --db_user=$db_user --db_name=$db_name --db_pwd=$db_pwd
|
||||
ynh_mysql_connect_as --user=$db_user --password=$db_pwd --database=$db_name < ./db.sql
|
||||
|
||||
#=================================================
|
||||
# ADVERTISE SERVICE IN ADMIN PANEL
|
||||
#=================================================
|
||||
|
||||
yunohost service add $app --log "/var/log/$app/$app.log"
|
||||
|
||||
#=================================================
|
||||
# RESTORE THE LOGROTATE CONFIGURATION
|
||||
#=================================================
|
||||
|
||||
ynh_restore_file --origin_path="/etc/logrotate.d/$app"
|
||||
|
||||
#=================================================
|
||||
# SPECIFIC UPGRADE
|
||||
#=================================================
|
||||
init_composer $final_path
|
||||
<<<<<<< HEAD
|
||||
cd $final_path && sudo /usr/bin/$phpversion artisan migrate --env=production --force
|
||||
cd $final_path && sudo /usr/bin/$phpversion artisan cache:clear
|
||||
cd $final_path && sudo /usr/bin/$phpversion firefly:upgrade-database
|
||||
cd $final_path && sudo /usr/bin/$phpversion firefly:verify
|
||||
cd $final_path && sudo /usr/bin/$phpversion passport:install
|
||||
=======
|
||||
cd $final_path && sudo /usr/bin/php$phpversion artisan migrate --env=production --force
|
||||
cd $final_path && sudo /usr/bin/php$phpversion artisan cache:clear
|
||||
cd $final_path && sudo /usr/bin/php$phpversion artisan firefly:upgrade-database
|
||||
cd $final_path && sudo /usr/bin/php$phpversion artisan firefly:verify
|
||||
cd $final_path && sudo /usr/bin/php$phpversion artisan passport:install
|
||||
>>>>>>> 87fccba099c4ee4e22f4988fd409a8b760b3bfaf
|
||||
|
||||
#=================================================
|
||||
# GENERIC FINALIZATION
|
||||
#=================================================
|
||||
# RELOAD NGINX AND PHP-FPM
|
||||
#=================================================
|
||||
ynh_script_progression --message="Reloading nginx web server and php-fpm..." --time --weight=1
|
||||
|
||||
<<<<<<< HEAD
|
||||
ynh_systemd_action --service_name=php${phpversion}-fpm --action=reload
|
||||
=======
|
||||
ynh_systemd_action --service_name=php$phpversion-fpm --action=reload
|
||||
>>>>>>> 87fccba099c4ee4e22f4988fd409a8b760b3bfaf
|
||||
ynh_systemd_action --service_name=nginx --action=reload
|
||||
|
||||
#=================================================
|
||||
# END OF SCRIPT
|
||||
#=================================================
|
||||
|
||||
ynh_script_progression --message="Restoration completed for $app" --time --last
|
152
scripts/restore~
Executable file
152
scripts/restore~
Executable file
|
@ -0,0 +1,152 @@
|
|||
#!/bin/bash
|
||||
|
||||
#=================================================
|
||||
# GENERIC START
|
||||
#=================================================
|
||||
# IMPORT GENERIC HELPERS
|
||||
#=================================================
|
||||
|
||||
if [ ! -e _common.sh ]; then
|
||||
# Get the _common.sh file if it's not in the current directory
|
||||
cp ../settings/scripts/_common.sh ./_common.sh
|
||||
chmod a+rx _common.sh
|
||||
fi
|
||||
|
||||
source _common.sh
|
||||
source /usr/share/yunohost/helpers
|
||||
|
||||
#=================================================
|
||||
# MANAGE SCRIPT FAILURE
|
||||
#=================================================
|
||||
|
||||
# Exit if an error occurs during the execution of the script
|
||||
ynh_abort_if_errors
|
||||
|
||||
#=================================================
|
||||
# LOAD SETTINGS
|
||||
#=================================================
|
||||
ynh_script_progression --message="Loading settings..." --time --weight=1
|
||||
|
||||
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
|
||||
|
||||
#=================================================
|
||||
# CHECK IF THE APP CAN BE RESTORED
|
||||
#=================================================
|
||||
ynh_script_progression --message="Validating restoration parameters..." --time --weight=1
|
||||
|
||||
ynh_webpath_available --domain=$domain --path_url=$path_url \
|
||||
|| ynh_die --message="Path not available: ${domain}${path_url}"
|
||||
test ! -d $final_path \
|
||||
|| ynh_die --message="There is already a directory: $final_path "s
|
||||
|
||||
#=================================================
|
||||
# STANDARD RESTORATION STEPS
|
||||
#=================================================
|
||||
# RESTORE THE NGINX CONFIGURATION
|
||||
#=================================================
|
||||
|
||||
ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf"
|
||||
|
||||
#=================================================
|
||||
# RESTORE THE APP MAIN DIR
|
||||
#=================================================
|
||||
|
||||
ynh_script_progression --message="Restoring the app main directory..." --time --weight=1
|
||||
|
||||
ynh_restore_file --origin_path="$final_path"
|
||||
|
||||
#=================================================
|
||||
# RECREATE THE DEDICATED USER
|
||||
#=================================================
|
||||
ynh_script_progression --message="Recreating the dedicated system user..." --time --weight=1
|
||||
|
||||
# Create the dedicated user (if not existing)
|
||||
ynh_system_user_create --username=$app
|
||||
|
||||
#=================================================
|
||||
# RESTORE USER RIGHTS
|
||||
#=================================================
|
||||
|
||||
# Restore permissions on app files
|
||||
chown -R $app: $final_path
|
||||
|
||||
#=================================================
|
||||
# RESTORE THE PHP-FPM CONFIGURATION
|
||||
#=================================================
|
||||
|
||||
ynh_restore_file --origin_path="/etc/php/$phpversion/fpm/pool.d/$app.conf"
|
||||
|
||||
#=================================================
|
||||
# SPECIFIC RESTORATION
|
||||
#=================================================
|
||||
# REINSTALL DEPENDENCIES
|
||||
#=================================================
|
||||
ynh_script_progression --message="Reinstalling dependencies..." --time --weight=1
|
||||
|
||||
# Define and install dependencies
|
||||
ynh_install_app_dependencies $pkg_dependencies
|
||||
|
||||
#=================================================
|
||||
# RESTORE THE MYSQL DATABASE
|
||||
#=================================================
|
||||
ynh_script_progression --message="Restoring the MySQL database..." --time --weight=1
|
||||
|
||||
db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd)
|
||||
ynh_mysql_setup_db --db_user=$db_user --db_name=$db_name --db_pwd=$db_pwd
|
||||
ynh_mysql_connect_as --user=$db_user --password=$db_pwd --database=$db_name < ./db.sql
|
||||
|
||||
#=================================================
|
||||
# ADVERTISE SERVICE IN ADMIN PANEL
|
||||
#=================================================
|
||||
|
||||
yunohost service add $app --log "/var/log/$app/$app.log"
|
||||
|
||||
#=================================================
|
||||
# RESTORE THE LOGROTATE CONFIGURATION
|
||||
#=================================================
|
||||
|
||||
ynh_restore_file --origin_path="/etc/logrotate.d/$app"
|
||||
|
||||
#=================================================
|
||||
# SPECIFIC UPGRADE
|
||||
#=================================================
|
||||
init_composer $final_path
|
||||
<<<<<<< HEAD
|
||||
cd $final_path && sudo /usr/bin/$phpversion artisan migrate --env=production --force
|
||||
cd $final_path && sudo /usr/bin/$phpversion artisan cache:clear
|
||||
cd $final_path && sudo /usr/bin/$phpversion firefly:upgrade-database
|
||||
cd $final_path && sudo /usr/bin/$phpversion firefly:verify
|
||||
cd $final_path && sudo /usr/bin/$phpversion passport:install
|
||||
=======
|
||||
cd $final_path && sudo /usr/bin/php$phpversion artisan migrate --env=production --force
|
||||
cd $final_path && sudo /usr/bin/php$phpversion artisan cache:clear
|
||||
cd $final_path && sudo /usr/bin/php$phpversion artisan firefly:upgrade-database
|
||||
cd $final_path && sudo /usr/bin/php$phpversion artisan firefly:verify
|
||||
cd $final_path && sudo /usr/bin/php$phpversion artisan passport:install
|
||||
>>>>>>> 87fccba099c4ee4e22f4988fd409a8b760b3bfaf
|
||||
|
||||
#=================================================
|
||||
# GENERIC FINALIZATION
|
||||
#=================================================
|
||||
# RELOAD NGINX AND PHP-FPM
|
||||
#=================================================
|
||||
ynh_script_progression --message="Reloading nginx web server and php-fpm..." --time --weight=1
|
||||
|
||||
<<<<<<< HEAD
|
||||
ynh_systemd_action --service_name=php${phpversion}-fpm --action=reload
|
||||
=======
|
||||
ynh_systemd_action --service_name=php$phpversion-fpm --action=reload
|
||||
>>>>>>> 87fccba099c4ee4e22f4988fd409a8b760b3bfaf
|
||||
ynh_systemd_action --service_name=nginx --action=reload
|
||||
|
||||
#=================================================
|
||||
# END OF SCRIPT
|
||||
#=================================================
|
||||
|
||||
ynh_script_progression --message="Restoration completed for $app" --time --last
|
|
@ -152,7 +152,7 @@ ynh_system_user_create --username=$app
|
|||
ynh_script_progression --message="Upgrading php-fpm configuration..." --time --weight=1
|
||||
|
||||
# Create a dedicated php-fpm config
|
||||
ynh_add_fpm_config --phpversion=7.2
|
||||
ynh_add_fpm_config --phpversion="$phpversion"
|
||||
|
||||
#=================================================
|
||||
# STORE THE CONFIG FILE CHECKSUM
|
||||
|
@ -175,6 +175,9 @@ ynh_use_logrotate --non-append
|
|||
#=================================================
|
||||
# SPECIFIC UPGRADE
|
||||
#=================================================
|
||||
# Install via composer
|
||||
ynh_install_composer --phpversion="$phpversion"
|
||||
|
||||
# Get the admin email
|
||||
email=$(ynh_user_get_info --username=$admin --key='mail')
|
||||
|
||||
|
@ -190,12 +193,13 @@ ynh_replace_string --match_string"yunobase" --replace_string="$db_name" --f
|
|||
ynh_replace_string --match_string"yunomail" --replace_string="$email" --file="$final_path/.env"
|
||||
ynh_replace_string --match_string"yunodomain" --replace_string="$domain" --file="$final_path/.env"
|
||||
|
||||
init_composer $final_path
|
||||
cd $final_path && sudo /usr/bin/php7.2 artisan migrate --env=production --force
|
||||
cd $final_path && sudo /usr/bin/php7.2 artisan cache:clear
|
||||
cd $final_path && sudo /usr/bin/php7.2 artisan firefly:upgrade-database
|
||||
cd $final_path && sudo /usr/bin/php7.2 artisan firefly:verify
|
||||
cd $final_path && sudo /usr/bin/php7.2 artisan passport:install
|
||||
#init_composer $final_path
|
||||
|
||||
cd $final_path && php$phpversion artisan migrate --env=production --force
|
||||
cd $final_path && php$phpversion artisan cache:clear
|
||||
cd $final_path && php$phpversion artisan firefly:upgrade-database
|
||||
cd $final_path && php$phpversion artisan firefly:verify
|
||||
cd $final_path && php$phpversion artisan passport:install
|
||||
|
||||
# Verify the checksum and backup the file if it's different
|
||||
ynh_backup_if_checksum_is_different --file="$final_path/.env"
|
||||
|
@ -210,6 +214,7 @@ ynh_store_file_checksum --file="$final_path/.env"
|
|||
|
||||
# Set right permissions
|
||||
chown -R $app: $final_path
|
||||
chmod -R 775 ${final_path}/storage
|
||||
|
||||
#=================================================
|
||||
# SETUP SSOWAT
|
||||
|
@ -228,8 +233,8 @@ fi
|
|||
#=================================================
|
||||
ynh_script_progression --message="Reloading nginx web server..." --time --weight=1
|
||||
|
||||
ynh_systemd_action --service_name=php${phpversion}-fpm --action=reload
|
||||
ynh_systemd_action --service_name=nginx --action=reload
|
||||
ynh_systemd_action --service_name=php7.2-fpm --action=reload
|
||||
|
||||
#=================================================
|
||||
# END OF SCRIPT
|
||||
|
|
Loading…
Add table
Reference in a new issue