diff options
| author | nemsia <nemsia@nemsia.org> | 2017-04-29 23:19:23 +0200 |
|---|---|---|
| committer | nemsia <nemsia@nemsia.org> | 2017-04-29 23:19:23 +0200 |
| commit | 71fe59cb4e550c89e6d8c92b82e082debdfef1ce (patch) | |
| tree | 40d2f53ddc1913f2b6bc2c0257aa4d2021066628 /scripts/restore | |
| parent | 2aedf332e75226b6db68b4bde75a0aaf05acc029 (diff) | |
| parent | 2cef464c6ba44226baf0a1f0f6a512145b3929ea (diff) | |
| download | mastodon_ynh-71fe59cb4e550c89e6d8c92b82e082debdfef1ce.tar.gz mastodon_ynh-71fe59cb4e550c89e6d8c92b82e082debdfef1ce.tar.bz2 mastodon_ynh-71fe59cb4e550c89e6d8c92b82e082debdfef1ce.zip | |
Merge branch 'refs/heads/pr/5'
# Conflicts:
# scripts/restore
Diffstat (limited to 'scripts/restore')
| -rw-r--r-- | scripts/restore | 47 |
1 files changed, 25 insertions, 22 deletions
diff --git a/scripts/restore b/scripts/restore index 7820e04..3f63380 100644 --- a/scripts/restore +++ b/scripts/restore @@ -24,7 +24,7 @@ is_public=$(ynh_app_setting_get $app is_public) # Check domain/path availability sudo yunohost app checkurl "${domain}${path}" -a "$app" \ - || ynh_die "Path not available: ${domain}${path}" + || ynh_die "Path not available: ${domain}${path}" # Check $final_path final_path="/opt/${app}" @@ -66,38 +66,35 @@ fi sudo adduser $app --home /opt/$app --gecos "First Last,RoomNumber,WorkPhone,HomePhone" --disabled-password --disabled-login # Restore sources & data -sudo cp -a ./sources "$final_path" +sudo cp -a ./sources/. "$final_path" # Set permissions sudo chown -R $app: "$final_path" sudo chmod -R a+rx /home/yunohost.backup/tmp +sudo ls -alh "$final_path" + +# Change directory for create user & database postgresql + # Set UTF8 encoding by default sudo su -c "psql" postgres <<< \ - "update pg_database set datistemplate='false' where datname='template1';" + "update pg_database set datistemplate='false' where datname='template1';" sudo su -c "psql" postgres <<< \ - "drop database template1;" + "drop database template1;" sudo su -c "psql" postgres <<< \ - "create database template1 encoding='UTF8' template template0;" + "create database template1 encoding='UTF8' template template0;" sudo su -c "psql" postgres <<< \ - "update pg_database set datistemplate='true' where datname='template1';" - -# Copy postgresql dump -sudo cp $YNH_APP_BACKUP_DIR/mastodon_db.sql $final_path + "update pg_database set datistemplate='true' where datname='template1';" -# Restore db +# Create user for db postgresql ynh_psql_create_db_without_password "$app" -sudo systemctl restart postgresql -sudo su - postgres <<COMMANDS -pg_restore --role=mastodon -U postgres --no-password < $final_path/mastodon_db.sql -COMMANDS -# Delete dump after restore -# rm $final_path/mastodon_db.sql - -# Create symlink for ruby -sudo ln -s /opt/mastodon/.rbenv/versions/2.4.1/bin/ruby /usr/bin/ruby || true +# Setup database +sudo su - $app <<SCOMMANDS +cd ~/live +RAILS_ENV=production bin/bundle exec rails db:setup +SCOMMANDS # Restore Mastodon sudo su - $app <<RCOMMANDS @@ -106,16 +103,22 @@ RAILS_ENV=production bin/bundle exec rails db:migrate RAILS_ENV=production bin/bundle exec rails assets:precompile RCOMMANDS +# restore database +sudo pg_dump mastodon_production < $YNH_APP_BACKUP_DIR/mastodon_db.sql + +# Create symlink for ruby +sudo ln -s /opt/mastodon/.rbenv/versions/2.4.1/bin/ruby /usr/bin/ruby || true + # Restore nginx configuration files sudo cp -a ./nginx.conf "$nginx_conf" # Restore crontab sudo cp -a ./cron.conf "$crontab_conf" -sudo cp ../conf/mastodon-web.service /etc/systemd/system/mastodon-web.service +sudo cp ./systemd_web.service /etc/systemd/system/mastodon-web.service sudo chown root: /etc/systemd/system/mastodon-web.service -sudo cp ../conf/mastodon-sidekiq.service /etc/systemd/system/mastodon-sidekiq.service +sudo cp ./systemd_sidekiq.service /etc/systemd/system/mastodon-sidekiq.service sudo chown root: /etc/systemd/system/mastodon-sidekiq.service -sudo cp ../conf/mastodon-streaming.service /etc/systemd/system/mastodon-streaming.service +sudo cp ./systemd_streaming.service /etc/systemd/system/mastodon-streaming.service sudo chown root: /etc/systemd/system/mastodon-streaming.service sudo systemctl daemon-reload |
