#!/bin/bash # NextCloudPi software configuration # Tested with 2017-03-02-raspbian-jessie-lite.img # # Copyleft 2017 by Ignacio Nunez Hernanz # GPL licensed (see end of file) * Use at your own risk! # # Usage: # sudo nextcloudpi-config # # More at https://ownyourbits.com/2017/03/13/nextcloudpi-gets-nextcloudpi-config/ # source /usr/local/etc/library.sh { function nextcloud-config() { local DIALOG_OK=0 local VERFILE=/var/run/.ncp-latest-version local BACKTITLE="NextCloudPi configuration ver. " local CONFDIR=/usr/local/etc/nextcloudpi-config.d/ # save latest version if it has never done before test -f $VERFILE || ncp-check-version # ask for update if outdated ncp-test-updates && \ whiptail --backtitle "$BACKTITLE $( cat /usr/local/etc/ncp-version )" \ --title "NextCloudPi update available" \ --clear --yesno "Update to $( cat $VERFILE )?" \ 10 40 [[ $? -eq $DIALOG_OK ]] && ncp-update while true; do # fill options local LIST=() for item in $CONFDIR/*.sh; do local DESC=$( grep "DESCRIPTION=" $item | sed 's|^DESCRIPTION="||;s|"$||' ) grep -q "^ACTIVE_=yes" $item && local ON="✓" || local ON=" " LIST+=( "$ON $( basename $item .sh )" "$DESC" ) done # launch the selection menu local script script=$( whiptail --backtitle "$BACKTITLE $( cat /usr/local/etc/ncp-version )" \ --title "NextCloudPi Software Configuration Tool (nextcloudpi-config)" \ --cancel-button Finish --ok-button Select \ --menu "Select program to configure and activate:" 20 105 10 \ "${LIST[@]}" \ 3>&1 1>&2 2>&3 ) [[ $? -ne $DIALOG_OK ]] || [[ "$script" == "" ]] && return 0 # remove ✓ and spaces script=$( sed 's=✓\| ==g' <<< "$script" ) # launch selected script info_script $script.sh || continue; configure_script $script.sh && { echo "Done. Press any key..."; read; } done } if [ $(id -u) -ne 0 ]; then printf "Must be run as root. Try 'sudo $0'\n" exit 1 fi nextcloud-config exit $? } # force to read the whole thing into memory, as its contents might change in update.sh # License # # This script is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This script is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this script; if not, write to the # Free Software Foundation, Inc., 59 Temple Place, Suite 330, # Boston, MA 02111-1307 USA