mirror of
https://github.com/YunoHost-Apps/wallabag2_ynh.git
synced 2024-10-01 13:35:06 +02:00
93 lines
3.6 KiB
Bash
93 lines
3.6 KiB
Bash
#!/bin/bash
|
|
|
|
#=================================================
|
|
# IMPORT GENERIC HELPERS
|
|
#=================================================
|
|
|
|
source _common.sh
|
|
source /usr/share/yunohost/helpers
|
|
|
|
#=================================================
|
|
# ENSURE DOWNWARD COMPATIBILITY
|
|
#=================================================
|
|
ynh_script_progression --message="Ensuring downward compatibility..." --weight=1
|
|
|
|
if ynh_compare_current_package_version --comparison lt --version "2.4~ynh1"; then
|
|
# Migrate old (erroneous) database scheme (see: https://github.com/YunoHost-Apps/wallabag2_ynh/pull/125#issuecomment-1041426972)
|
|
ynh_script_progression --message="Migrating old (pre-2018) database scheme..." --weight=11
|
|
|
|
ynh_exec_warn_less ynh_mysql_execute_file_as_root --database="$db_name" --file="../conf/foreign-keys-removal.sql"
|
|
ynh_script_progression --message="Database migration done. Resuming normal upgrade process" --weight=11
|
|
fi
|
|
|
|
#=================================================
|
|
# DOWNLOAD, CHECK AND UNPACK SOURCE
|
|
#=================================================
|
|
ynh_script_progression "Upgrading source files..."
|
|
|
|
ynh_setup_source --dest_dir="$install_dir" --full_replace --keep="app/config/parameters.yml var/logs web/assets/images"
|
|
|
|
# Create log dir/file is it useless?
|
|
mkdir -p "$install_dir/var/logs/"
|
|
touch "$install_dir/var/logs/prod.log"
|
|
|
|
# Set permissions to app files
|
|
# Restrict rights to Wallabag user only
|
|
if [ -e "$install_dir/var/cache/prod/appProdProjectContainer.php" ]; then
|
|
chmod 700 "$install_dir/var/cache/prod/appProdProjectContainer.php"
|
|
fi
|
|
|
|
#=================================================
|
|
# INSTALL SYMFONY LDAP
|
|
#=================================================
|
|
ynh_script_progression --message="Installing dependencies for LDAP..." --weight=1
|
|
|
|
# Some trick to actually not run composer install…
|
|
ynh_install_composer --install_args="--dry-run"
|
|
ynh_composer_exec --commands="require symfony/ldap"
|
|
# SYMFONY_ENV=prod ynh_composer_exec --commands="install --no-dev"
|
|
|
|
chown -R "$app:www-data" "$install_dir"
|
|
|
|
#=================================================
|
|
# UPDATE A CONFIG FILE
|
|
#=================================================
|
|
ynh_script_progression "Reconfiguring $app..."
|
|
|
|
ynh_add_config --template="parameters.yml" --destination="$install_dir/app/config/parameters.yml"
|
|
|
|
chmod 600 "$install_dir/app/config/parameters.yml"
|
|
chown "$app:$app" "$install_dir/app/config/parameters.yml"
|
|
|
|
# Upgrade database and clear the cache
|
|
php_exec doctrine:migrations:migrate
|
|
php_exec cache:clear
|
|
|
|
# Configure Wallabag instance URL
|
|
ynh_mysql_db_shell <<< "UPDATE internal_setting SET value = 'https://$domain$path' WHERE name = 'wallabag_url'"
|
|
|
|
#=================================================
|
|
# SETUP HOOKS
|
|
#=================================================
|
|
|
|
ynh_replace --match="__APP__" --replace="$app" --file="../hooks/post_user_create"
|
|
ynh_replace --match="__APP__" --replace="$app" --file="../hooks/post_user_delete"
|
|
|
|
#=================================================
|
|
# REAPPLY SYSTEM CONFIGURATIONS
|
|
#=================================================
|
|
ynh_script_progression "Upgrading system configurations related to $app..."
|
|
|
|
ynh_config_add_nginx
|
|
|
|
ynh_config_add_phpfpm
|
|
|
|
ynh_config_add_logrotate "$install_dir/var/logs/prod.log"
|
|
|
|
ynh_config_add_fail2ban --logpath="$install_dir/var/logs/prod.log" --failregex='app.ERROR: Authentication failure for user "([\w]+)?", from IP "<HOST>"' # same as install config
|
|
|
|
#=================================================
|
|
# END OF SCRIPT
|
|
#=================================================
|
|
|
|
ynh_script_progression "Upgrade of $app completed"
|