#!/bin/bash #================================================= # GENERIC START #================================================= # Import common cmd source ./experimental_helper.sh source ./_common.sh # Source YunoHost helpers source /usr/share/yunohost/helpers path=$new_path domain=$new_domain # Create special path with / at the end if [[ $path == '/' ]] then path2=$path else path2=$path"/" fi # Patch helper ynh_change_url_nginx_config() { local old_nginx_conf_path=/etc/nginx/conf.d/$old_domain.d/$app.conf local new_nginx_conf_path=/etc/nginx/conf.d/$new_domain.d/$app.conf # Change the domain for NGINX if [ $change_domain -eq 1 ] then ynh_delete_file_checksum --file="$old_nginx_conf_path" mv "$old_nginx_conf_path" "$new_nginx_conf_path" ynh_store_file_checksum --file="$new_nginx_conf_path" fi # 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="$new_nginx_conf_path" # Set global variables for NGINX helper path="$new_path" path_url="$new_path" # Create a dedicated NGINX config ynh_add_nginx_config fi ynh_systemd_action --service_name=nginx --action=reload } #================================================= # STANDARD MODIFICATIONS #================================================= ynh_script_progression --message="Updating NGINX web server configuration..." --weight=1 ynh_change_url_nginx_config #================================================= # SPECIFIC MODIFICATIONS #================================================= ynh_script_progression --message="Stoping services..." # Stop service before any change ynh_systemd_action --service_name seafile --action stop ynh_systemd_action --service_name seahub --action stop sleep 2 pkill -f seafile-controller || true pkill -f seaf-server || true pkill -f ccnet-server || true pkill -f seahub || true ynh_script_progression --message="Updating seafile configuration..." # Update Seafile Config ynh_add_config --template=seahub_settings.py --destination=$install_dir/conf/seahub_settings.py ynh_add_config --template=ccnet.conf --destination=$install_dir/conf/ccnet.conf ynh_add_config --template=gunicorn.conf.py --destination=$install_dir/conf/gunicorn.conf.py ynh_add_config --template=seafdav.conf --destination=$install_dir/conf/seafdav.conf # Update permissions ynh_permission_url --permission=file_server --url=$domain/seafhttp ynh_permission_url --permission=webdav --url=$domain/seafdav # Clean url in config in DB clean_url_in_db_config # Avoid the current effect sleep 2 # Reload services ynh_script_progression --message="Starting services..." ynh_systemd_action --service_name seafile -l "spawned seaf-server, pid " -p /var/log/seafile/controller.log ynh_systemd_action --service_name seahub -l "Started Seafile hub." -p "systemd" sleep 2 ynh_script_progression --message="Change of URL completed for $app" --time --last