From 9c37e95309833ae19048ee1e53b8c4070f3e7f8d Mon Sep 17 00:00:00 2001 From: anmol26s Date: Thu, 21 Jun 2018 08:18:02 +0530 Subject: Improved the app --- scripts/upgrade | 56 ++++++++++++++++++++++++++++++++------------------------ 1 file changed, 32 insertions(+), 24 deletions(-) (limited to 'scripts/upgrade') diff --git a/scripts/upgrade b/scripts/upgrade index c6b7a83..a9cde11 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -25,6 +25,8 @@ admin=$(ynh_app_setting_get "$app" admin) language=$(ynh_app_setting_get "$app" language) final_path=$(ynh_app_setting_get "$app" final_path) path_url="/" +port_web=$(ynh_app_setting_get "$app" port_web) +port_stream=$(ynh_app_setting_get "$app" port_stream) #================================================= # ENSURE DOWNWARD COMPATIBILITY @@ -48,14 +50,6 @@ if [[ "$admin" = "" || "$language" = "" ]]; then ynh_die fi -# If db_pwd doesn't exist, create it -if [[ -z "$db_pwd" ]]; then - db_pwd=$(ynh_string_random) - ynh_app_setting_set $app db_pwd $db_pwd - ynh_psql_test_if_first_run - sudo --login --user=postgres psql -c"ALTER user $app WITH PASSWORD '$db_pwd'" postgres - sed -i "s@DB_PASS=@DB_PASS=${db_pwd}@g" "${final_path}/live/.env.production" -fi #================================================= # BACKUP BEFORE UPGRADE THEN ACTIVE TRAP @@ -86,14 +80,7 @@ echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.lis # INSTALL DEPENDENCIES #================================================= -# upgrade Node.js v4 to v6 -# TODO: use https://github.com/YunoHost-Apps/Experimental_helpers/blob/master/ynh_install_nodejs/ynh_install_nodejs -node_version=$(nodejs --version) -if [[ $node_version =~ ^v4.*$ ]]; then - pushd /opt - curl -sL https://deb.nodesource.com/setup_6.x | sudo bash - - sudo apt-get -y install nodejs -fi +ynh_install_nodejs 8 # add additional package for upgrade ynh_package_install pkg-config libprotobuf-dev protobuf-compiler libicu-dev libidn11-dev postgresql-server-dev-all @@ -112,20 +99,25 @@ yunohost service stop "$app-sidekiq" yunohost service stop "$app-streaming" # Download Mastodon -ynh_setup_source "$final_path/live" "app-mastodon" +ynh_setup_source "$final_path/live" "app-mastodon" -# Clean un-need Files +# Clean files which are not needed anymore ynh_secure_remove $final_path/live/config/initializers/timeout.rb #================================================= # NGINX CONFIGURATION #================================================= -# TODO: use official helper ynh_add_nginx_config -# Modify Nginx configuration file and copy it to Nginx conf directory -sed -i "s@__PATH__@$app@g" ../conf/nginx.conf* -sed -i "s@__FINALPATH__@$final_path@g" ../conf/nginx.conf* -cp ../conf/nginx.conf /etc/nginx/conf.d/$domain.d/$app.conf +ynh_replace_string "__PORT_WEB__" "$port_web" "../conf/nginx.conf" +ynh_replace_string "__PORT_STREAM__" "$port_stream" "../conf/nginx.conf" +ynh_add_nginx_config + +#================================================= +# CREATE DEDICATED USER +#================================================= + +# Create a system user +ynh_system_user_create $app # Upgrade rbenv and ruby plugins ynh_setup_source "$final_path/.rbenv" "app-rbenv" @@ -176,9 +168,25 @@ RAILS_ENV=production $final_path/.rbenv/versions/2.5.1/bin/bundle exec rails db: COMMANDS ) #================================================= -# RESTART MASTODON +# SETUP SYSTEMD #================================================= +# Create a dedicated systemd config +ynh_replace_string "__PORT_WEB__" "$port_web" "../conf/mastodon-web.service" +ynh_replace_string "__PORT_STREAM__" "$port_stream" "../conf/mastodon-streaming.service" +ynh_add_systemd_config "$app-web" "mastodon-web.service" +ynh_add_systemd_config "$app-sidekiq" "mastodon-sidekiq.service" +ynh_add_systemd_config "$app-streaming" "mastodon-streaming.service" + +#================================================= +# ADVERTISE SERVICE IN ADMIN PANEL +#================================================= + +# Add service YunoHost +yunohost service add "$app-web" +yunohost service add "$app-sidekiq" +yunohost service add "$app-streaming" + yunohost service start "$app-web" yunohost service start "$app-sidekiq" yunohost service start "$app-streaming" -- cgit v1.2.3-70-g09d2 From 531aaa6a47c87e41f18eff02a4dd10d2481f9a08 Mon Sep 17 00:00:00 2001 From: anmol26s Date: Thu, 21 Jun 2018 08:44:18 +0530 Subject: Fallback user create command --- scripts/install | 2 +- scripts/restore | 2 +- scripts/upgrade | 6 ------ 3 files changed, 2 insertions(+), 8 deletions(-) (limited to 'scripts/upgrade') diff --git a/scripts/install b/scripts/install index f4a8f63..cd9a1ce 100644 --- a/scripts/install +++ b/scripts/install @@ -144,7 +144,7 @@ ynh_add_nginx_config #================================================= # Create a system user -ynh_system_user_create $app +adduser $app --home $final_path --gecos "First Last,RoomNumber,WorkPhone,HomePhone" --disabled-password chown -R "$app" "$final_path" diff --git a/scripts/restore b/scripts/restore index 4716e64..a25bb6f 100644 --- a/scripts/restore +++ b/scripts/restore @@ -62,7 +62,7 @@ ynh_restore_file "$final_path" # RECREATE THE DEDICATED USER #================================================= -ynh_system_user_create $app +adduser $app --home $final_path --gecos "First Last,RoomNumber,WorkPhone,HomePhone" --disabled-password #================================================= # RESTORE USER RIGHTS diff --git a/scripts/upgrade b/scripts/upgrade index a9cde11..0f99bab 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -112,12 +112,6 @@ ynh_replace_string "__PORT_WEB__" "$port_web" "../conf/nginx.conf" ynh_replace_string "__PORT_STREAM__" "$port_stream" "../conf/nginx.conf" ynh_add_nginx_config -#================================================= -# CREATE DEDICATED USER -#================================================= - -# Create a system user -ynh_system_user_create $app # Upgrade rbenv and ruby plugins ynh_setup_source "$final_path/.rbenv" "app-rbenv" -- cgit v1.2.3-70-g09d2 From f13690c38b42b07b75598018c85b4b84a88c3d24 Mon Sep 17 00:00:00 2001 From: nemsia Date: Thu, 21 Jun 2018 11:08:52 +0200 Subject: Add $db_pwd compatibility --- scripts/upgrade | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'scripts/upgrade') diff --git a/scripts/upgrade b/scripts/upgrade index 0f99bab..0350efe 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -50,6 +50,14 @@ if [[ "$admin" = "" || "$language" = "" ]]; then ynh_die fi +# If db_pwd doesn't exist, create it, need for old install +if [[ -z "$db_pwd" ]]; then + db_pwd=$(ynh_string_random) + ynh_app_setting_set $app db_pwd $db_pwd + ynh_psql_test_if_first_run + sudo --login --user=postgres psql -c"ALTER user $app WITH PASSWORD '$db_pwd'" postgres + sed -i "s@DB_PASS=@DB_PASS=${db_pwd}@g" "${final_path}/live/.env.production" +fi #================================================= # BACKUP BEFORE UPGRADE THEN ACTIVE TRAP -- cgit v1.2.3-70-g09d2 From fc1dee56d6d0885aedf7525515a9eff7fcda895b Mon Sep 17 00:00:00 2001 From: anmol26s <5068843+anmol26s@users.noreply.github.com> Date: Fri, 22 Jun 2018 14:00:26 +0530 Subject: used ynh_replace_string in upgrade --- scripts/upgrade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'scripts/upgrade') diff --git a/scripts/upgrade b/scripts/upgrade index 0350efe..0429013 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -56,7 +56,7 @@ if [[ -z "$db_pwd" ]]; then ynh_app_setting_set $app db_pwd $db_pwd ynh_psql_test_if_first_run sudo --login --user=postgres psql -c"ALTER user $app WITH PASSWORD '$db_pwd'" postgres - sed -i "s@DB_PASS=@DB_PASS=${db_pwd}@g" "${final_path}/live/.env.production" + ynh_replace_string "DB_PASS=" "DB_PASS=${db_pwd}" "${final_path}/live/.env.production" fi #================================================= -- cgit v1.2.3-70-g09d2