aboutsummaryrefslogtreecommitdiff
path: root/scripts/upgrade
diff options
context:
space:
mode:
author__cyp <cyp@rouquin.me>2017-04-10 16:01:13 +0200
committerGitHub <noreply@github.com>2017-04-10 16:01:13 +0200
commitea42525c1337719de22303a0e53a8b190b224c79 (patch)
tree254e856061f11cf1c8a327d00e46e73d12897190 /scripts/upgrade
parentb2cd5cc97ad463beac1f12f8ccc02a76c97dc257 (diff)
parent4dfe2759421883575d4a63d2879d58b93bc56f6a (diff)
downloadmastodon_ynh-ea42525c1337719de22303a0e53a8b190b224c79.tar.gz
mastodon_ynh-ea42525c1337719de22303a0e53a8b190b224c79.tar.bz2
mastodon_ynh-ea42525c1337719de22303a0e53a8b190b224c79.zip
Merge branch 'master' into master
Diffstat (limited to 'scripts/upgrade')
-rw-r--r--scripts/upgrade54
1 files changed, 54 insertions, 0 deletions
diff --git a/scripts/upgrade b/scripts/upgrade
new file mode 100644
index 0000000..0260ee1
--- /dev/null
+++ b/scripts/upgrade
@@ -0,0 +1,54 @@
+#!/bin/bash
+
+# Exit on command errors and treat unset variables as an error
+set -eu
+
+source .fonctions # Loads the generic functions usually used in the script
+source /usr/share/yunohost/helpers # Source YunoHost helpers
+
+# See comments in install script
+app=$YNH_APP_INSTANCE_NAME
+
+# Retrieve app settings
+domain=$(ynh_app_setting_get "$app" domain)
+path=$(ynh_app_setting_get "$app" path)
+admin=$(ynh_app_setting_get "$app" admin)
+is_public=$(ynh_app_setting_get "$app" is_public)
+
+CHECK_PATH # Checks and corrects the syntax of the path.
+
+# Check if admin is not null
+if [[ "$admin" = "" || "$is_public" = "" || "$language" = "" ]]; then
+ echo "Unable to upgrade, please contact support"
+ ynh_die
+fi
+
+final_path=/opt/$app
+
+db_name=$app
+
+# Modify Nginx configuration file and copy it to Nginx conf directory
+sudo sed -i "s@__PATH__@$app@g" ../conf/nginx.conf*
+sudo sed -i "s@__FINALPATH__@$final_path/@g" ../conf/nginx.conf*
+
+# Update Mastodon
+sudo su - $app <<COMMANDS
+pushd ~/live
+git pull
+RAILS_ENV=production bin/bundle exec rails db:migrate
+RAILS_ENV=production bin/bundle exec rails assets:precompile
+COMMANDS
+
+# If app is public, add url to SSOWat conf as skipped_uris
+if [ $is_public = "Yes" ];
+then
+ ynh_app_setting_set "$app" unprotected_uris "/"
+ sudo cp ../conf/nginx.conf /etc/nginx/conf.d/$domain.d/$app.conf
+else
+ sudo cp ../conf/nginx.conf /etc/nginx/conf.d/$domain.d/$app.conf
+fi
+
+# Reload Nginx
+sudo systemctl reload nginx
+# Reload Mastodon
+sudo systemctl restart mastodon-*.service \ No newline at end of file