#!/bin/bash # Create a dedicated nginx config # # usage: ynh_add_nginx_config # # This will use a template in `../conf/nginx.conf` # See the documentation of `ynh_add_config` for a description of the template # format and how placeholders are replaced with actual variables. # # Additionally, ynh_add_nginx_config will replace: # - `#sub_path_only` by empty string if `path_url` is not `'/'` # - `#root_path_only` by empty string if `path_url` *is* `'/'` # # This allows to enable/disable specific behaviors dependenging on the install # location # # Requires YunoHost version 4.1.0 or higher. ynh_add_nginx_config() { local finalnginxconf="/etc/nginx/conf.d/$domain.d/$app.conf" ynh_add_config --template="nginx.conf" --destination="$finalnginxconf" if [ "${path_url:-}" != "/" ]; then ynh_replace_string --match_string="^#sub_path_only" --replace_string="" --target_file="$finalnginxconf" else ynh_replace_string --match_string="^#root_path_only" --replace_string="" --target_file="$finalnginxconf" fi ynh_store_file_checksum --file="$finalnginxconf" ynh_systemd_action --service_name=nginx --action=reload } # Remove the dedicated nginx config # # usage: ynh_remove_nginx_config # # Requires YunoHost version 2.7.2 or higher. ynh_remove_nginx_config() { ynh_secure_remove --file="/etc/nginx/conf.d/$domain.d/$app.conf" ynh_systemd_action --service_name=nginx --action=reload } # Move / regen the nginx config in a change url context # # usage: ynh_change_url_nginx_config # # Requires YunoHost version 11.1.9 or higher. 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 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="$old_nginx_conf_path" # Set global variables for NGINX helper domain="$old_domain" path="$new_path" path_url="$new_path" # Create a dedicated NGINX config ynh_add_nginx_config fi # 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 ynh_systemd_action --service_name=nginx --action=reload }