#!/bin/bash ######################################################################## # Author: Fred (support@qo-op.com) # Version: 2020.03.24 # License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/) ######################################################################## { MY_PATH="`dirname \"$0\"`" # relative MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized ME="${0##*/}" [[ $USER == "root" ]] && echo "DO NOT RUN AS root!! Use regular USER with sudo AUTHORISATION" && exit 1 MACHINE_TYPE=`uname -m` [ ${MACHINE_TYPE:0:3} == 'arm' ] && isARM="YES" ################################## ## INSTALL TOOLS ######## YOUTUBE-DL ########## if [[ ! $(which youtube-dl) ]]; then sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl || exit 1 sudo chmod a+rx /usr/local/bin/youtube-dl sudo chown $USER /usr/local/bin/youtube-dl fi # AUDIO LAYER sudo apt-get update sudo apt-get install libid3-tools mpd mpc lame -y || err=1 sudo apt-get install lame sox libsox-fmt-mp3 eyed3 python-chardet imagemagick curl -y #libav-tools || err=1 sudo apt-get install ca-certificates git-core binutils rsync alsa-utils bc espeak mpg321 fuse atomicparsley -y || err=1 ## CONFIG MPD sudo cp -f $MY_PATH/templates/copylaradio/mpd.conf /etc/mpd.conf sudo sed -i "s/_USER_/$USER/g" /etc/mpd.conf || err=1 mkdir ~/.config/mpd && sudo cp -f /etc/mpd.conf ~/.config/mpd/mpd.conf && chown $USER ~/.config/mpd/mpd.conf ## MUSIC & PLAYLISTS mkdir -p ~/.zen/music mkdir -p ~/.zen/playlists ## CHOWN mpd FILES STRUCTURE sudo chown -R $USER /var/lib/mpd/ /var/run/mpd /run/mpd /var/log/mpd sudo service mpd restart || err=1 ## TODO add to system start (/etc/rc.local?) ### INSTALL NGINX sudo apt-get install fail2ban nginx ssl-cert openssl-blacklist php-curl php-sqlite3 php-gd php-json php-xml php-mbstring php-fpm sqlite -y || err=1 # CONFIG NGINX - LOVE LAND FRONTAL WEB PAGE sudo cp -f $MY_PATH/../www/loveland.conf /etc/nginx/conf.d/ PHPVERSION=$(ps auxf | grep php-fpm | grep -v -E 'color=auto|grep' | head -n 1 | grep -oP '(?<=\().*(?=\))' | awk -F '/' '{print $4}') sudo sed -i "s/_PHPVERSION_/$PHPVERSION/g" /etc/nginx/conf.d/loveland.conf nodename=$(cat /etc/hostname) extension=$(echo $nodename | cut -d '.' -f 2) if [[ $extension == $nodename ]]; then nodename=$nodename.local # TODO : Adpapt to Internet BOX local DNS stategy fi sudo sed -i "s/_SERVERNAME_/$nodename/g" /etc/nginx/conf.d/loveland.conf # INSTALL LOVELand WebSite LINKs sudo ln -s $MY_PATH/../www/LOVELand/ /var/www/loveland sudo chmod 777 /var/www/loveland/jukebox/albumart sudo chmod 777 /var/www/loveland/jukebox/prefs sudo systemctl restart nginx || err=1 if [[ $err ]]; then echo -e "${c_red}Installation de LOVELand incomplète$c_" exit 1 else echo -e "${c_green}LOVELand a été installé avec succès$c_" exit 0 fi } # for script being completely downloaded before run