#!/bin/bash # Load common variables and helpers . ./_common.sh # Source app helpers . /usr/share/yunohost/helpers #================================================= # MANAGE SCRIPT FAILURE #================================================= # Exit if an error occurs during the execution of the script ynh_abort_if_errors app=$YNH_APP_INSTANCE_NAME FINAL_PATH="/var/www/$app" #install php dependencies if necessary install_freshrss_dependencies # Check destination directory [[ ! -d $FINAL_PATH ]] && ynh_die \ "The destination directory '$FINAL_PATH' does not exist.\ The app is not correctly installed, you should remove it first." #old version cleanup if [ -f $FINAL_PATH/data/user.php.dist ]; then sudo rm $FINAL_PATH/data/user.php.dist fi # retrieve domain domain=$(ynh_app_setting_get $app domain) #add fpm config if not exists if [ -n $domain ] && [ ! -f /etc/php/7.0/fpm/pool.d/$app.conf ]; then path=$(ynh_app_setting_get $app path) sed -i "s@PATHTOCHANGE@$path@g" ../conf/nginx.conf sed -i "s@ALIASTOCHANGE@$FINAL_PATH/@g" ../conf/nginx.conf sed -i "s@APPNAMETOCHANGE@$app@g" ../conf/nginx.conf sudo cp ../conf/nginx.conf /etc/nginx/conf.d/$domain.d/$app.conf php_conf=/etc/php/7.0/fpm/pool.d/$app.conf sed -i "s@APPNAMETOCHANGE@$app@g" ../conf/php-fpm.conf sed -i "s@ALIASTOCHANGE@$FINAL_PATH/@g" ../conf/php-fpm.conf sudo cp ../conf/php-fpm.conf $php_conf sudo chown root: $php_conf sudo chmod 644 $php_conf sudo service nginx reload sudo service php7.0-fpm reload fi # Create tmp directory and install app inside TMPDIR=$(mktemp -d) sudo chmod 755 "$TMPDIR" extract_freshrss "$TMPDIR" # Restore config sudo rm $TMPDIR/data/do-install.txt sudo cp $FINAL_PATH/data/config.php $TMPDIR/data/config.php sudo cp -r $FINAL_PATH/data/users/. $TMPDIR/data/users/ sudo cp -r $FINAL_PATH/extensions/. $TMPDIR/extensions/ #update hook for multi instance sed -i "s@APPNAMETOCHANGE@$app@g" ../hooks/post_app_addaccess sed -i "s@APPNAMETOCHANGE@$app@g" ../hooks/post_user_create sed -i "s@APPNAMETOCHANGE@$app@g" ../hooks/post_user_delete #add api to unprotected url ynh_app_setting_set "$app" unprotected_uris "/api/" sudo yunohost app ssowatconf # Set permissions to freshrss directory sudo chown -R root:root $TMPDIR sudo chown -R www-data: $TMPDIR/data/ sudo chown -R www-data: $TMPDIR/extensions/ # Clean up existing files and copy new files to the right place sudo rm -rf "$FINAL_PATH" sudo cp -rp "$TMPDIR" "$FINAL_PATH"