From f33df0209abc9722b6868afeb2278f5287c6d2e5 Mon Sep 17 00:00:00 2001 From: Fabian Wilkens Date: Sun, 8 Aug 2021 10:22:32 +0200 Subject: [PATCH] Update: scripts, conf files --- conf/env.sample | 30 +++++++++++++++----------- scripts/change_url | 9 ++++++-- scripts/install | 20 ++++++----------- scripts/upgrade | 53 ++++++++++++---------------------------------- 4 files changed, 45 insertions(+), 67 deletions(-) diff --git a/conf/env.sample b/conf/env.sample index 120447c..f911665 100644 --- a/conf/env.sample +++ b/conf/env.sample @@ -1,22 +1,28 @@ -RAILS_ENV=development -PORT=3001 +RAILS_ENV=production +PORT=__PORT__ WEB_CONCURRENCY=0 RAILS_LOG_TO_STDOUT=true +# Log Level options: "INFO" | "DEBUG" | "INFO" | "WARN" | "ERROR" | "FATAL" +RAILS_LOG_LEVEL=INFO RAILS_SERVE_STATIC_FILES=true -SECRET_KEY_BASE=test -APP_HOST=http://localhost:3001 +SECRET_KEY_BASE=__SECRET_KEY_BASE__ +APP_HOST=http://__DOMAIN____PATH__/ EXTENSIONS_MANAGER_LOCATION=extensions/extensions-manager/dist/index.html -BATCH_MANAGER_LOCATION=extensions/batch-manager/dist/index.min.html -SF_DEFAULT_SERVER=http://localhost:3000 - -# Datadog -DATADOG_ENABLED=false +SF_DEFAULT_SERVER=https://__SNSERVER_DOMAIN__/ # Development options -DEV_DEFAULT_SYNC_SERVER=https://sync.standardnotes.org +DEV_DEFAULT_SYNC_SERVER=https://api.standardnotes.org DEV_EXTENSIONS_MANAGER_LOCATION=public/extensions/extensions-manager/dist/index.html -DEV_BATCH_MANAGER_LOCATION=public/extensions/batch-manager/dist/index.min.html +ENABLE_UNFINISHED_FEATURES=false +DEV_WEBSOCKET_URL=wss://sockets-dev.standardnotes.com + +# NewRelic (Optional) +NEW_RELIC_ENABLED=false +NEW_RELIC_THREAD_PROFILER_ENABLED=false +NEW_RELIC_LICENSE_KEY= +NEW_RELIC_APP_NAME=Web +NEW_RELIC_BROWSER_MONITORING_AUTO_INSTRUMENT=false # Sub-URI -RAILS_RELATIVE_URL_ROOT=/ +RAILS_RELATIVE_URL_ROOT=__PATH__/ diff --git a/scripts/change_url b/scripts/change_url index e309997..09bfb4d 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -29,6 +29,8 @@ ynh_script_progression --message="Loading installation settings..." --weight=1 # Needed for helper "ynh_add_nginx_config" final_path=$(ynh_app_setting_get --app=$app --key=final_path) port=$(ynh_app_setting_get --app=$app --key=port) +snserver_domain=$(ynh_app_setting_get --app=$app --key=snserver_domain) +secret_key_base=$(ynh_app_setting_get --app=$app --key=secret_key_base) #================================================= # BACKUP BEFORE CHANGE URL THEN ACTIVE TRAP @@ -106,8 +108,11 @@ fi #================================================= config_file="$final_path/live/.env" -ynh_replace_string --match_string="APP_HOST=http://localhost:3001" --replace_string="APP_HOST=https://$new_domain${new_path%/}" --target_file="$config_file" -ynh_replace_string --match_string="RAILS_RELATIVE_URL_ROOT=$old_path" --replace_string="RAILS_RELATIVE_URL_ROOT=$new_path" --target_file="$config_file" + +domain=$new_domain +path_url=$new_path + +ynh_add_config --template="env.sample" --destination="$config_file" #================================================= # GENERIC FINALISATION diff --git a/scripts/install b/scripts/install index c8bd49a..677b9db 100644 --- a/scripts/install +++ b/scripts/install @@ -28,6 +28,9 @@ domain=$YNH_APP_ARG_DOMAIN path_url=$YNH_APP_ARG_PATH is_public=$YNH_APP_ARG_IS_PUBLIC snserver_domain=$YNH_APP_ARG_SNSERVER_DOMAIN +if [ -z "$snserver_domain" ]; then + snserver_domain="api.standardnotes.com" +fi app=$YNH_APP_INSTANCE_NAME @@ -141,22 +144,11 @@ popd ynh_script_progression --message="Adding a configuration file..." --weight=1 config_file="$final_path/live/.env" -cp -f ../conf/env.sample $config_file +secret_key_base=$(ynh_string_random --length=48 | base64) -ynh_replace_string --match_string="RAILS_ENV=development" --replace_string="RAILS_ENV=production" --target_file="$config_file" -ynh_replace_string --match_string="PORT=3001" --replace_string="PORT=$port" --target_file="$config_file" -secret_key=$(ynh_string_random --length=48 | base64) -ynh_replace_string --match_string="SECRET_KEY_BASE=test" --replace_string="SECRET_KEY_BASE=$secret_key" --target_file="$config_file" -ynh_replace_string --match_string="APP_HOST=http://localhost:3001" --replace_string="APP_HOST=https://$domain${path_url%/}" --target_file="$config_file" -if [ "$snserver_domain" = "" ]; then - snserver_domain="sync.standardnotes.org" -fi -ynh_replace_string --match_string="SF_DEFAULT_SERVER=http://localhost:3000" --replace_string="SF_DEFAULT_SERVER=https://$snserver_domain" --target_file="$config_file" -ynh_replace_string --match_string="RAILS_RELATIVE_URL_ROOT=.*$" --replace_string="RAILS_RELATIVE_URL_ROOT=$path_url" --target_file="$config_file" +ynh_app_setting_set --app=$app --key=secret_key_base --value=$secret_key_base -# Calculate and store the config file checksum into the app settings -ynh_store_file_checksum --file="$config_file" -ynh_store_file_checksum --file="/etc/nginx/conf.d/$domain.d/$app.conf" +ynh_add_config --template="env.sample" --destination="$config_file" #================================================= # BUILDING diff --git a/scripts/upgrade b/scripts/upgrade index 99bc95f..737bb1e 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -22,6 +22,7 @@ path_url=$(ynh_app_setting_get --app=$app --key=path) final_path=$(ynh_app_setting_get --app=$app --key=final_path) port=$(ynh_app_setting_get --app=$app --key=port) snserver_domain=$(ynh_app_setting_get --app=$app --key=snserver_domain) +secret_key_base=$(ynh_app_setting_get --app=$app --key=secret_key_base) config_file="$final_path/live/.env" @@ -73,21 +74,12 @@ if [ -z "$final_path" ]; then ynh_app_setting_set --app=$app --key=final_path --value=$final_path fi -if ynh_compare_current_package_version --comparison lt --version "3.6.8~ynh2" -then - # Add variables to .env config file - echo -e "\ -\n# Sub-URI\ -\nRAILS_RELATIVE_URL_ROOT=/\ -" >> "$config_file" +if [ -z "$snserver_domain" ]; then + snserver_domain="api.standardnotes.com" +fi - # Apply Patch - if [ -f "$YNH_CWD/../sources/patches/app-00-add-path-url.patch" ] - then - pushd "$final_path/live" - patch --strip=1 < "$YNH_CWD/../sources/patches/app-00-add-path-url.patch" - popd - fi +if [ -z "$secret_key_base" ]; then + secret_key_base=$(ynh_string_random --length=48 | base64) fi #================================================= @@ -106,11 +98,6 @@ if [ "$upgrade_type" == "UPGRADE_APP" ] then ynh_script_progression --message="Upgrading source files..." --weight=17 - # Backup files to keep - tmpdir=$(mktemp -d) - if [ -d $final_path/live/log ] ; then - cp -Rp $final_path/live/log $tmpdir - fi # Remove destination directory ynh_secure_remove --file=$final_path # Download @@ -120,9 +107,12 @@ then git checkout $COMMIT --quiet git submodule update --init --recursive --quiet popd - # Restore files - if [ -d $tmpdir/log ] ; then - cp -Rp $tmpdir/log "$final_path/live" + # Apply Patch + if [ -f "$YNH_CWD/../sources/patches/app-00-add-path-url.patch" ] + then + pushd "$final_path/live" + patch --strip=1 < "$YNH_CWD/../sources/patches/app-00-add-path-url.patch" + popd fi fi @@ -173,24 +163,9 @@ popd # UPDATE A CONFIG FILE #================================================= -if [ "$upgrade_type" == "UPGRADE_APP" ] -then - ynh_script_progression --message="Updating a configuration file..." --weight=2 +ynh_script_progression --message="Updating a configuration file..." --weight=2 - cp -f ../conf/env.sample $config_file - ynh_replace_string --match_string="RAILS_ENV=development" --replace_string="RAILS_ENV=production" --target_file="$config_file" - ynh_replace_string --match_string="PORT=3001" --replace_string="PORT=$port" --target_file="$config_file" - secret_key=$(ynh_string_random --length=48 | base64) - ynh_replace_string --match_string="SECRET_KEY_BASE=test" --replace_string="SECRET_KEY_BASE=$secret_key" --target_file="$config_file" - ynh_replace_string --match_string="APP_HOST=http://localhost:3001" --replace_string="APP_HOST=https://$domain${path_url%/}" --target_file="$config_file" - if [ "$snserver_domain" = "" ]; then - snserver_domain="sync.standardnotes.org" - fi - ynh_replace_string --match_string="SF_DEFAULT_SERVER=http://localhost:3000" --replace_string="SF_DEFAULT_SERVER=https://$snserver_domain" --target_file="$config_file" -fi - -ynh_store_file_checksum --file="$config_file" -ynh_store_file_checksum --file="/etc/nginx/conf.d/$domain.d/$app.conf" +ynh_add_config --template="env.sample" --destination="$config_file" #================================================= # BUILDING