1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/ttrss_ynh.git synced 2024-10-01 13:34:46 +02:00
ttrss_ynh/scripts/restore

70 lines
1.8 KiB
Bash

#!/bin/bash
# causes the shell to exit if any subcommand or pipeline returns a non-zero status
set -e
# The parameter $1 is the backup directory location dedicated to the app
backup_dir=$1
# The last parameter is the id of the app instance
app=${!#}
# Get old parameter of the app
domain=$(sudo yunohost app setting $app domain)
path=$(sudo yunohost app setting $app path)
# Check domain/path availability
sudo yunohost app checkurl $domain$path -a $app
if [[ ! $? -eq 0 ]]; then
echo "There is already an app on this URL : $domain$path" | sudo tee /dev/stderr
exit 1
fi
# Restore sources & data
final_path=/var/www/$app
if [ -d $final_path ]; then
echo "There is already a directory: $final_path " | sudo tee /dev/stderr
exit 1
fi
sudo cp -a ./www "$final_path"
# Dependences
sudo apt-get install php5-cli -y
db_pwd=$(sudo yunohost app setting $app mysqlpwd)
db_user=$app
sudo yunohost app initdb $db_user -p $db_pwd
sudo su -c "mysql -u $db_user -p$db_pwd $app < ./db.sql"
sudo rm -f "./db.sql"
sudo sed -i -e "s/'DB_USER', *\"[^\"]*\"/'DB_USER', \"$app\"/g" $final_path/config.php
sudo sed -i -e "s/'DB_NAME', *\"[^\"]*\"/'DB_NAME', \"$app\"/g" $final_path/config.php
# Set permissions
sudo chown -R www-data:www-data $final_path
for i in export images upload js
do
sudo chmod -R 777 $final_path/cache/$i
done
for i in feed-icons lock
do
sudo chmod -R 777 $final_path/$i
done
# Restore conf files
conf=/etc/nginx/conf.d/$domain.d/$app.conf
if [ -f $conf ]; then
echo "There is already a nginx conf file at this path: $conf " | sudo tee /dev/stderr
exit 1
fi
sudo cp -a "./conf/nginx.conf" $conf
sudo mv "./conf/cron" /etc/cron.d/$app
sudo chown root /etc/cron.d/$app
# Reload Nginx
sudo service nginx reload
# Set ssowat config
sudo yunohost app setting $app skipped_uris -v "/public.php,/api"
sudo yunohost app ssowatconf