#!/bin/bash #================================================= # GENERIC STARTING #================================================= # IMPORT GENERIC HELPERS #================================================= source _common.sh source /usr/share/yunohost/helpers #================================================= # LOAD SETTINGS #================================================= app=$YNH_APP_INSTANCE_NAME domain=$(ynh_app_setting_get $app domain) path_url=$(ynh_app_setting_get $app path) final_path=$(ynh_app_setting_get $app final_path) port=$(ynh_app_setting_get $app port) #================================================= # CHECK VERSION #================================================= upgrade_type=$(ynh_check_app_version_changed) #================================================= # ENSURE DOWNWARD COMPATIBILITY #================================================= # If port doesn't exist, create it if [ -z "$port" ]; then port=4242 ynh_app_setting_set $app port $port fi #================================================= # BACKUP BEFORE UPGRADE THEN ACTIVE TRAP #================================================= # Backup the current version of the app ynh_backup_before_upgrade ynh_clean_setup () { # restore it if the upgrade fails ynh_restore_upgradebackup } # Exit if an error occurs during the execution of the script ynh_abort_if_errors #================================================= # CHECK THE PATH #================================================= path_url=$(ynh_normalize_url_path $path_url) # Vérifie et corrige la syntaxe du path. #================================================= # ACTIVATE MAINTENANCE MODE #================================================= ynh_maintenance_mode_ON #================================================= # STANDARD UPGRADE STEPS #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE #================================================= if [ "$upgrade_type" == "UPGRADE_APP" ] then ynh_setup_source "$final_path" # Télécharge la source, décompresse et copie dans $final_path fi #================================================= # UPGRADE DEPENDENCIES #================================================= ynh_install_app_dependencies python-virtualenv sqlite3 zlib1g-dev #================================================= # NGINX CONFIGURATION #================================================= ynh_add_nginx_config #================================================= # CREATE DEDICATED USER #================================================= ynh_system_user_create $app # Create the dedicated user, if not exist #================================================= # SPECIFIC UPGRADE #================================================= # SETUP SYSTEMD #================================================= ynh_add_systemd_config #================================================= # CHANGE PORT IN YUNORUNNER #================================================= ynh_replace_string "__PORT__" "$port" "/etc/systemd/system/$app.service" ynh_store_file_checksum "/etc/systemd/system/$app.service" systemctl daemon-reload #================================================= # GENERIC FINALISATION #================================================= #================================================= # SECURING FILES AND DIRECTORIES #================================================= chown -R $app:root $final_path #================================================= # SETUP SSOWAT #================================================= # Make app public ynh_app_setting_set $app skipped_uris "/" #================================================= # RELOAD NGINX #================================================= ynh_system_reload --service_name=nginx #================================================= # RESTART YUNORUNNER #================================================= ynh_system_reload --service_name=$app --action=restart #================================================= # DEACTIVE MAINTENANCE MODE #================================================= ynh_maintenance_mode_OFF