diff --git a/conf/nginx.conf b/conf/nginx.conf index 0812049..dc865de 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -15,3 +15,23 @@ location __PATH__/ { more_set_headers "Content-Security-Policy: frame-ancestors 'self' __ACCESS_DOMAIN__"; } + +location = __PATH__/extensions { + return 301 https://$server_name__PATH__/extensions/repo.json; +} + +location = __PATH__/extensions/ { + + return 301 https://$server_name__PATH__/extensions/repo.json; +} + +location __PATH__/extensions/ { + alias __FINAL_PATH_EXTENSIONS__/; + + if ($scheme = http) { + rewrite ^ https://$server_name$request_uri? permanent; + } + + more_set_headers "Content-Security-Policy: frame-ancestors 'self' __ACCESS_DOMAIN__"; +} + diff --git a/scripts/install b/scripts/install index 5dc1d2b..c31b84a 100755 --- a/scripts/install +++ b/scripts/install @@ -42,7 +42,10 @@ mail="$app@$domain" # CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS #================================================= final_path=/opt/yunohost/$app +final_path_www=/var/www/$app +final_path_extensions="$final_path_www/extensions" test ! -e "$final_path" || ynh_die --message="This path already contains a folder" +test ! -e "$final_path_www" || ynh_die --message="This path already contains a folder" # Register (book) web path ynh_webpath_register --app=$app --domain=$domain --path_url=$path_url @@ -124,6 +127,25 @@ chmod 750 "$final_path" chmod -R o-rwx "$final_path" chown -R $app:$app "$final_path" +# Extensions +ynh_app_setting_set --app=$app --key=final_path --value=$final_path_www +ynh_app_setting_set --app=$app --key=final_path --value=$final_path_extensions +mkdir -p "$final_path_extensions" + +if test -e "$YNH_APP_BASEDIR/sources/extra_files/extensions"; then + cp --archive "$YNH_APP_BASEDIR/sources/extra_files/extensions/." "$final_path_extensions" +fi + +find "../conf/" -name "ext_*.src" -print0 | while read -d $'\0' file +do + basename=$(basename -as .src $file) + ynh_setup_source --dest_dir="$final_path_extensions/src/${basename#'ext_'}" --source_id="$basename" +done + +chmod 750 "$final_path_www" +chmod -R o-rwx "$final_path_www" +chown -R "www-data":"www-data" "$final_path_www" + #================================================= # NGINX CONFIGURATION #================================================= @@ -207,29 +229,24 @@ popd #================================================= # INSTALLING Standard Notes - Extensions #================================================= -#ynh_script_progression --message="Installing Standard Notes - Extensions..." --weight=1 -# -# -#if [ $path_url = "/" ] -#then -# path="" -#else -# path=$path_url -#fi -# -#ynh_replace_string --match_string="__DOMAIN__PATH__" --replace_string="$domain$path" --target_file="$final_path/live/public/extensions/repo.json" -# -#find "$final_path/live/public/extensions/src/" -name "*.json" -print0 | while read -d $'\0' file -#do -# ynh_replace_string --match_string="__DOMAIN__PATH__" --replace_string="$domain$path" --target_file="$file" -#done -# -#find "../conf/" -name "ext_*.src" -print0 | while read -d $'\0' file -#do -#basename=$(basename -as .src $file) -# ynh_setup_source --dest_dir="$final_path/live/public/extensions/src/${basename#'ext_'}" --source_id="$basename" -#done -# +ynh_script_progression --message="Setup Standard Notes - Extensions..." --weight=1 + + +if [ $path_url = "/" ] +then + path="" +else + path=$path_url +fi + +ynh_replace_string --match_string="__DOMAIN__PATH__" --replace_string="$domain$path" --target_file="$final_path_extensions/repo.json" + +find "$final_path_extensions/src/" -name "*.json" -print0 | while read -d $'\0' file +do + ynh_replace_string --match_string="__DOMAIN__PATH__" --replace_string="$domain$path" --target_file="$file" +done + + #================================================= # SETUP SYSTEMD #================================================= @@ -258,29 +275,14 @@ ynh_store_file_checksum --file="/etc/nginx/conf.d/$domain.d/$app.conf" #================================================= # GENERIC FINALIZATION #================================================= -#================================================= -# SECURE FILES AND DIRECTORIES -#================================================= -ynh_script_progression --message="Securing files and directories..." --weight=1 - -# Set permissions to app files -chmod 750 "$final_path" -chmod -R o-rwx "$final_path" -chown -R $app: "$final_path" - -#mkdir -p "$final_path/live/log" -#chown -R $app: "$final_path/live/log/" -#mkdir -p "$final_path/live/tmp" -#chown -R $app: "$final_path/live/tmp/" - -mkdir -p "/var/log/$app" -chown -R $app: "/var/log/$app" - #================================================= # SETUP LOGROTATE #================================================= ynh_script_progression --message="Configuring log rotation..." --weight=1 +mkdir -p "/var/log/$app" +chown -R "$app": "/var/log/$app" + # Use logrotate to manage application logfile(s) #ynh_use_logrotate --logfile="$final_path/live/log/production.log" ynh_use_logrotate --logfile="/var/log/$app/syncing-server.log" diff --git a/scripts/remove b/scripts/remove index 986d75b..7d8cb5e 100755 --- a/scripts/remove +++ b/scripts/remove @@ -27,6 +27,7 @@ port_api_gateway=$(ynh_app_setting_get --app=$app --key=port_api_gateway) db_name=$(ynh_app_setting_get --app=$app --key=db_name) db_user=$db_name final_path=$(ynh_app_setting_get --app=$app --key=final_path) +final_path_www=$(ynh_app_setting_get --app=$app --key=final_path_extensions) #================================================= # STANDARD REMOVE @@ -83,6 +84,7 @@ ynh_script_progression --message="Removing app main directory..." --weight=1 # Remove the app directory securely ynh_secure_remove --file="$final_path" +ynh_secure_remove --file="$final_path_extensions" #================================================= # REMOVE NGINX CONFIGURATION diff --git a/sources/extra_files/app/public/extensions/repo.json b/sources/extra_files/extensions/repo.json similarity index 100% rename from sources/extra_files/app/public/extensions/repo.json rename to sources/extra_files/extensions/repo.json diff --git a/sources/extra_files/app/public/extensions/src/action-bar.json b/sources/extra_files/extensions/src/action-bar.json similarity index 100% rename from sources/extra_files/app/public/extensions/src/action-bar.json rename to sources/extra_files/extensions/src/action-bar.json diff --git a/sources/extra_files/app/public/extensions/src/autobiography-theme.json b/sources/extra_files/extensions/src/autobiography-theme.json similarity index 100% rename from sources/extra_files/app/public/extensions/src/autobiography-theme.json rename to sources/extra_files/extensions/src/autobiography-theme.json diff --git a/sources/extra_files/app/public/extensions/src/bold-editor.json b/sources/extra_files/extensions/src/bold-editor.json similarity index 100% rename from sources/extra_files/app/public/extensions/src/bold-editor.json rename to sources/extra_files/extensions/src/bold-editor.json diff --git a/sources/extra_files/app/public/extensions/src/code-editor.json b/sources/extra_files/extensions/src/code-editor.json similarity index 100% rename from sources/extra_files/app/public/extensions/src/code-editor.json rename to sources/extra_files/extensions/src/code-editor.json diff --git a/sources/extra_files/app/public/extensions/src/dynamic-theme.json b/sources/extra_files/extensions/src/dynamic-theme.json similarity index 100% rename from sources/extra_files/app/public/extensions/src/dynamic-theme.json rename to sources/extra_files/extensions/src/dynamic-theme.json diff --git a/sources/extra_files/app/public/extensions/src/focus-theme.json b/sources/extra_files/extensions/src/focus-theme.json similarity index 100% rename from sources/extra_files/app/public/extensions/src/focus-theme.json rename to sources/extra_files/extensions/src/focus-theme.json diff --git a/sources/extra_files/app/public/extensions/src/folders-component.json b/sources/extra_files/extensions/src/folders-component.json similarity index 100% rename from sources/extra_files/app/public/extensions/src/folders-component.json rename to sources/extra_files/extensions/src/folders-component.json diff --git a/sources/extra_files/app/public/extensions/src/futura-theme.json b/sources/extra_files/extensions/src/futura-theme.json similarity index 100% rename from sources/extra_files/app/public/extensions/src/futura-theme.json rename to sources/extra_files/extensions/src/futura-theme.json diff --git a/sources/extra_files/app/public/extensions/src/github-push.json b/sources/extra_files/extensions/src/github-push.json similarity index 100% rename from sources/extra_files/app/public/extensions/src/github-push.json rename to sources/extra_files/extensions/src/github-push.json diff --git a/sources/extra_files/app/public/extensions/src/markdown-basic.json b/sources/extra_files/extensions/src/markdown-basic.json similarity index 100% rename from sources/extra_files/app/public/extensions/src/markdown-basic.json rename to sources/extra_files/extensions/src/markdown-basic.json diff --git a/sources/extra_files/app/public/extensions/src/markdown-pro.json b/sources/extra_files/extensions/src/markdown-pro.json similarity index 100% rename from sources/extra_files/app/public/extensions/src/markdown-pro.json rename to sources/extra_files/extensions/src/markdown-pro.json diff --git a/sources/extra_files/app/public/extensions/src/math-editor.json b/sources/extra_files/extensions/src/math-editor.json similarity index 100% rename from sources/extra_files/app/public/extensions/src/math-editor.json rename to sources/extra_files/extensions/src/math-editor.json diff --git a/sources/extra_files/app/public/extensions/src/mfa-link.json b/sources/extra_files/extensions/src/mfa-link.json similarity index 100% rename from sources/extra_files/app/public/extensions/src/mfa-link.json rename to sources/extra_files/extensions/src/mfa-link.json diff --git a/sources/extra_files/app/public/extensions/src/midnight-theme.json b/sources/extra_files/extensions/src/midnight-theme.json similarity index 100% rename from sources/extra_files/app/public/extensions/src/midnight-theme.json rename to sources/extra_files/extensions/src/midnight-theme.json diff --git a/sources/extra_files/app/public/extensions/src/minimal-markdown-editor.json b/sources/extra_files/extensions/src/minimal-markdown-editor.json similarity index 100% rename from sources/extra_files/app/public/extensions/src/minimal-markdown-editor.json rename to sources/extra_files/extensions/src/minimal-markdown-editor.json diff --git a/sources/extra_files/app/public/extensions/src/no-distraction-theme.json b/sources/extra_files/extensions/src/no-distraction-theme.json similarity index 100% rename from sources/extra_files/app/public/extensions/src/no-distraction-theme.json rename to sources/extra_files/extensions/src/no-distraction-theme.json diff --git a/sources/extra_files/app/public/extensions/src/plus-editor.json b/sources/extra_files/extensions/src/plus-editor.json similarity index 100% rename from sources/extra_files/app/public/extensions/src/plus-editor.json rename to sources/extra_files/extensions/src/plus-editor.json diff --git a/sources/extra_files/app/public/extensions/src/quick-tags.json b/sources/extra_files/extensions/src/quick-tags.json similarity index 100% rename from sources/extra_files/app/public/extensions/src/quick-tags.json rename to sources/extra_files/extensions/src/quick-tags.json diff --git a/sources/extra_files/app/public/extensions/src/simple-task-editor.json b/sources/extra_files/extensions/src/simple-task-editor.json similarity index 100% rename from sources/extra_files/app/public/extensions/src/simple-task-editor.json rename to sources/extra_files/extensions/src/simple-task-editor.json diff --git a/sources/extra_files/app/public/extensions/src/solarized-dark-theme.json b/sources/extra_files/extensions/src/solarized-dark-theme.json similarity index 100% rename from sources/extra_files/app/public/extensions/src/solarized-dark-theme.json rename to sources/extra_files/extensions/src/solarized-dark-theme.json diff --git a/sources/extra_files/app/public/extensions/src/titanium-theme.json b/sources/extra_files/extensions/src/titanium-theme.json similarity index 100% rename from sources/extra_files/app/public/extensions/src/titanium-theme.json rename to sources/extra_files/extensions/src/titanium-theme.json diff --git a/sources/extra_files/app/public/extensions/src/token-vault.json b/sources/extra_files/extensions/src/token-vault.json similarity index 100% rename from sources/extra_files/app/public/extensions/src/token-vault.json rename to sources/extra_files/extensions/src/token-vault.json diff --git a/sources/extra_files/app/public/extensions/src/vim-editor.json b/sources/extra_files/extensions/src/vim-editor.json similarity index 100% rename from sources/extra_files/app/public/extensions/src/vim-editor.json rename to sources/extra_files/extensions/src/vim-editor.json