1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/mastodon_ynh.git synced 2024-09-03 19:46:02 +02:00

Merge branch 'refs/heads/pr/5'

# Conflicts:
#	scripts/restore
This commit is contained in:
nemsia 2017-04-29 23:19:23 +02:00
commit 71fe59cb4e
3 changed files with 30 additions and 32 deletions

View file

@ -70,13 +70,13 @@ ynh_package_install yarn
# Set UTF8 encoding by default # Set UTF8 encoding by default
sudo su -c "psql" postgres <<< \ 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 <<< \ sudo su -c "psql" postgres <<< \
"drop database template1;" "drop database template1;"
sudo su -c "psql" postgres <<< \ sudo su -c "psql" postgres <<< \
"create database template1 encoding='UTF8' template template0;" "create database template1 encoding='UTF8' template template0;"
sudo su -c "psql" postgres <<< \ sudo su -c "psql" postgres <<< \
"update pg_database set datistemplate='true' where datname='template1';" "update pg_database set datistemplate='true' where datname='template1';"
# Create DB without password # Create DB without password
ynh_psql_create_db_without_password "$app" ynh_psql_create_db_without_password "$app"
@ -92,11 +92,6 @@ CLONECOMMANDS
# Be king rewind (/var/cache/yunohost/from_file/scripts) # Be king rewind (/var/cache/yunohost/from_file/scripts)
popd popd
# # Get Mastodon last version
# sudo mkdir "${final_path}/live"
# SETUP_SOURCE
# sudo chown -R $app: "${final_path}"
# Install de rbenv # Install de rbenv
sudo su - $app <<COMMANDS sudo su - $app <<COMMANDS
pushd ~/.rbenv pushd ~/.rbenv

View file

@ -24,7 +24,7 @@ is_public=$(ynh_app_setting_get $app is_public)
# Check domain/path availability # Check domain/path availability
sudo yunohost app checkurl "${domain}${path}" -a "$app" \ 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 # Check $final_path
final_path="/opt/${app}" 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 sudo adduser $app --home /opt/$app --gecos "First Last,RoomNumber,WorkPhone,HomePhone" --disabled-password --disabled-login
# Restore sources & data # Restore sources & data
sudo cp -a ./sources "$final_path" sudo cp -a ./sources/. "$final_path"
# Set permissions # Set permissions
sudo chown -R $app: "$final_path" sudo chown -R $app: "$final_path"
sudo chmod -R a+rx /home/yunohost.backup/tmp 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 # Set UTF8 encoding by default
sudo su -c "psql" postgres <<< \ 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 <<< \ sudo su -c "psql" postgres <<< \
"drop database template1;" "drop database template1;"
sudo su -c "psql" postgres <<< \ sudo su -c "psql" postgres <<< \
"create database template1 encoding='UTF8' template template0;" "create database template1 encoding='UTF8' template template0;"
sudo su -c "psql" postgres <<< \ sudo su -c "psql" postgres <<< \
"update pg_database set datistemplate='true' where datname='template1';" "update pg_database set datistemplate='true' where datname='template1';"
# Copy postgresql dump # Create user for db postgresql
sudo cp $YNH_APP_BACKUP_DIR/mastodon_db.sql $final_path
# Restore db
ynh_psql_create_db_without_password "$app" 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 # Setup database
# rm $final_path/mastodon_db.sql sudo su - $app <<SCOMMANDS
cd ~/live
# Create symlink for ruby RAILS_ENV=production bin/bundle exec rails db:setup
sudo ln -s /opt/mastodon/.rbenv/versions/2.4.1/bin/ruby /usr/bin/ruby || true SCOMMANDS
# Restore Mastodon # Restore Mastodon
sudo su - $app <<RCOMMANDS 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 RAILS_ENV=production bin/bundle exec rails assets:precompile
RCOMMANDS 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 # Restore nginx configuration files
sudo cp -a ./nginx.conf "$nginx_conf" sudo cp -a ./nginx.conf "$nginx_conf"
# Restore crontab # Restore crontab
sudo cp -a ./cron.conf "$crontab_conf" 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 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 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 chown root: /etc/systemd/system/mastodon-streaming.service
sudo systemctl daemon-reload sudo systemctl daemon-reload

View file

@ -44,7 +44,7 @@ git fetch
git pull https://github.com/tootsuite/mastodon.git master git pull https://github.com/tootsuite/mastodon.git master
git checkout $(git tag | tail -n 1) git checkout $(git tag | tail -n 1)
bin/bundle install bin/bundle install
yarn install --production yarn install --pure-lockfile
RAILS_ENV=production bundle exec rails assets:clean RAILS_ENV=production bundle exec rails assets:clean
RAILS_ENV=production bundle exec rails assets:precompile RAILS_ENV=production bundle exec rails assets:precompile
RAILS_ENV=production bundle exec rails db:migrate RAILS_ENV=production bundle exec rails db:migrate