mirror of
https://github.com/YunoHost-Apps/ttrss_ynh.git
synced 2024-10-01 13:34:46 +02:00
69 lines
1.8 KiB
Bash
69 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"
|