diff options
| author | yalh76 <yalh@yahoo.com> | 2022-06-04 17:35:46 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-06-04 17:35:46 +0200 |
| commit | 124b0c903b16f8e29714859d39c2b0e0de5568b5 (patch) | |
| tree | 2e81fda9adc272bc98722b35092e8a748f2c96a1 /scripts/install | |
| parent | acdc124f76fb9724cb22acb18c45cf0c3c2e62b5 (diff) | |
| parent | 67b98816286a65bcdf7252b5590e9486a73655f5 (diff) | |
| download | mastodon_ynh-124b0c903b16f8e29714859d39c2b0e0de5568b5.tar.gz mastodon_ynh-124b0c903b16f8e29714859d39c2b0e0de5568b5.tar.bz2 mastodon_ynh-124b0c903b16f8e29714859d39c2b0e0de5568b5.zip | |
Merge pull request #331 from YunoHost-Apps/testing
Apply last example_ynh
Diffstat (limited to 'scripts/install')
| -rw-r--r-- | scripts/install | 68 |
1 files changed, 30 insertions, 38 deletions
diff --git a/scripts/install b/scripts/install index 2b7a807..5d2905d 100644 --- a/scripts/install +++ b/scripts/install @@ -27,11 +27,11 @@ ynh_abort_if_errors domain=$YNH_APP_ARG_DOMAIN path_url="/" -admin=$YNH_APP_ARG_ADMIN is_public=$YNH_APP_ARG_IS_PUBLIC language=$YNH_APP_ARG_LANGUAGE +admin=$YNH_APP_ARG_ADMIN -admin_mail=$(ynh_user_get_info $admin 'mail') +admin_mail=$(ynh_user_get_info --username=$admin --key=mail) app=$YNH_APP_INSTANCE_NAME @@ -53,8 +53,8 @@ ynh_script_progression --message="Storing installation settings..." ynh_app_setting_set --app=$app --key=domain --value=$domain ynh_app_setting_set --app=$app --key=path --value=$path_url -ynh_app_setting_set --app=$app --key=admin --value=$admin ynh_app_setting_set --app=$app --key=language --value=$language +ynh_app_setting_set --app=$app --key=admin --value=$admin #================================================= # STANDARD MODIFICATIONS @@ -75,10 +75,10 @@ ynh_app_setting_set --app=$app --key=port_stream --value=$port_stream #================================================= ynh_script_progression --message="Installing dependencies..." -ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies -ynh_exec_warn_less ynh_install_nodejs --nodejs_version=$NODEJS_VERSION -ynh_install_extra_app_dependencies --repo="deb https://dl.yarnpkg.com/debian/ stable main" --package="yarn" --key="https://dl.yarnpkg.com/debian/pubkey.gpg" -ynh_install_ruby --ruby_version=$RUBY_VERSION +ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies $build_pkg_dependencies +ynh_exec_warn_less ynh_install_ruby --ruby_version=$ruby_version +ynh_exec_warn_less ynh_install_nodejs --nodejs_version=$nodejs_version +ynh_exec_warn_less ynh_install_extra_app_dependencies --repo="deb https://dl.yarnpkg.com/debian/ stable main" --package="yarn" --key="https://dl.yarnpkg.com/debian/pubkey.gpg" #================================================= # CREATE DEDICATED USER @@ -86,24 +86,21 @@ ynh_install_ruby --ruby_version=$RUBY_VERSION ynh_script_progression --message="Configuring system user..." # Create a system user -ynh_system_user_create --username=$app --home_dir=$final_path +ynh_system_user_create --username=$app --home_dir="$final_path" #================================================= # CREATE A POSTGRESQL DATABASE #================================================= ynh_script_progression --message="Creating a PostgreSQL database..." - -# Create PostgreSQL database db_name=$(ynh_sanitize_dbid --db_name="${app}_production") db_user=$(ynh_sanitize_dbid --db_name=$app) -db_pwd=$(ynh_string_random --length=30) ynh_app_setting_set --app=$app --key=db_name --value=$db_name ynh_app_setting_set --app=$app --key=db_user --value=$db_user -ynh_app_setting_set --app=$app --key=db_pwd --value=$db_pwd ynh_psql_test_if_first_run -ynh_psql_setup_db --db_user=$db_user --db_name=$db_name --db_pwd=$db_pwd +ynh_psql_setup_db --db_user=$db_user --db_name=$db_name ynh_psql_execute_as_root --sql="ALTER USER $db_user CREATEDB;" +db_pwd=$(ynh_app_setting_get --app=$app --key=psqlpwd) #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE @@ -136,26 +133,15 @@ ynh_script_progression --message="Adding swap if needed..." total_memory=$(ynh_get_ram --total) swap_needed=0 -if [ $total_memory -lt $MEMORY_NEEDED ]; then +if [ $total_memory -lt $memory_needed ]; then # Need a minimum of 2.5Go of memory - swap_needed=$(($MEMORY_NEEDED - $total_memory)) + swap_needed=$(($memory_needed - $total_memory)) fi ynh_script_progression --message="Adding $swap_needed Mo to swap..." ynh_add_swap --size=$swap_needed #================================================= -# INSTALLING RUBY AND BUNDLER -#================================================= -ynh_script_progression --message="Installing Ruby..." - -pushd "$final_path/live" - ynh_use_ruby - ynh_gem update --system - ynh_gem install bundler --no-document -popd - -#================================================= # ADD A CONFIGURATION #================================================= ynh_script_progression --message="Adding a configuration file..." @@ -190,21 +176,14 @@ chmod 400 "$final_path/live/config/settings.yml" chown $app:$app "$final_path/live/config/settings.yml" #================================================= -# SETUP SYSTEMD -#================================================= -ynh_script_progression --message="Configuring a systemd service..." - -# Create a dedicated systemd config -ynh_add_systemd_config --service="$app-web" --template="mastodon-web.service" -ynh_add_systemd_config --service="$app-sidekiq" --template="mastodon-sidekiq.service" -ynh_add_systemd_config --service="$app-streaming" --template="mastodon-streaming.service" - -#================================================= -# INSTALLING MASTODON +# BUILD APP #================================================= -ynh_script_progression --message="Installing Mastodon..." +ynh_script_progression --message="Building app..." pushd "$final_path/live" + ynh_use_ruby + ynh_gem update --system + ynh_gem install bundler --no-document ynh_exec_as $app $ynh_ruby_load_path $ld_preload bin/bundle config deployment 'true' ynh_exec_as $app $ynh_ruby_load_path $ld_preload bin/bundle config without 'development test' ynh_exec_as $app $ynh_ruby_load_path $ld_preload bin/bundle config set force_ruby_platform true @@ -234,6 +213,19 @@ ynh_add_config --template="../conf/.env.production.sample" --destination="$confi chmod 400 "$config" chown $app:$app "$config" +ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies +ynh_package_autoremove + +#================================================= +# SETUP SYSTEMD +#================================================= +ynh_script_progression --message="Configuring a systemd service..." + +# Create a dedicated systemd config +ynh_add_systemd_config --service="$app-web" --template="mastodon-web.service" +ynh_add_systemd_config --service="$app-sidekiq" --template="mastodon-sidekiq.service" +ynh_add_systemd_config --service="$app-streaming" --template="mastodon-streaming.service" + #================================================= # SETUP THE CRON FILE #================================================= |
