You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
170 lines
6.5 KiB
170 lines
6.5 KiB
#!/bin/bash |
|
######################################################################## |
|
# Author: Fred (support@qo-op.com) |
|
# Version: 0.3 |
|
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/) |
|
######################################################################## |
|
{ |
|
######################################################################## |
|
############# TO VERIFY AND FINISH .... TODO ########################### |
|
######################################################################## |
|
MY_PATH="`dirname \"$0\"`" # relative |
|
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized |
|
ME="${0##*/}" |
|
######################################################################## |
|
YOU=$(ps auxf --sort=+utime | grep -w ipfs | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1) || er+=" ipfs daemon not running" |
|
IPFSNODEID=$(ipfs id -f='<id>\n') || er+=" ipfs id problem" |
|
[[ "$YOU" == "" || "$IPFSNODEID" == "" ]] && echo "ERROR : $er " && exit 1 |
|
######################################################################## |
|
#### DO NOT RUN AS ROOT |
|
[[ $USER == "root" ]] && echo "DO NOT RUN AS root!! Use regular USER with sudo AUTHORISATION" && exit 1 |
|
#### APACHE NOT SUPPORTED |
|
is_apache_running=$(ps auxf --sort=+utime | grep -w apache | grep -v -E 'color=auto|grep' | tail -n 1 | cut -d " " -f 1); |
|
[[ $is_apache_running ]] && echo "SORRY ONLY nginx is supported. EXIT" && exit 1 |
|
#### ARM / X64 NOT USED THERE |
|
MACHINE_TYPE=`uname -m` |
|
[ ${MACHINE_TYPE:0:3} == 'arm' ] && isARM="YES" |
|
|
|
### UPDATE apt cache |
|
sudo apt-get update |
|
|
|
### Adding YOU to www-data group |
|
sudo adduser $YOU www-data |
|
|
|
################################## |
|
## INSTALL RAINBOW ASCII ;) |
|
[[ ! $(which figlet) ]] && sudo apt install figlet -y |
|
[[ ! $(which lolcat) ]] && sudo apt install lolcat -y |
|
|
|
echo ' |
|
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
|
______ __ ____ ___ |
|
/ ____/___ ____ __ __/ / ____ _/ __ \____ _____/ (_)___ |
|
/ / / __ \/ __ \/ / / / / / __ `/ /_/ / __ `/ __ / / __ \ |
|
/ /___/ /_/ / /_/ / /_/ / /___/ /_/ / _, _/ /_/ / /_/ / / /_/ / |
|
\____/\____/ .___/\__, /_____/\__,_/_/ |_|\__,_/\__,_/_/\____/ |
|
/_/ /____/ |
|
|
|
Multimedia Layer (https://www.copylaradio.com) |
|
' | lolcat |
|
## MULTIMEDIA |
|
## VIDEO & AUDIO & PLAYLISTS ~/.zen/ DIR |
|
mkdir -p ~/astroport/films |
|
mkdir -p ~/astroport/animes |
|
mkdir -p ~/astroport/series |
|
mkdir -p ~/astroport/docus |
|
mkdir -p ~/astroport/musiques |
|
|
|
mkdir -p ~/.zen/video |
|
mkdir -p ~/.zen/audio |
|
mkdir -p ~/.zen/playlists |
|
|
|
######## YOUTUBE-DL ########## |
|
if [[ ! $(which youtube-dl) ]]; then |
|
sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl || err=1 |
|
sudo chmod a+rx /usr/local/bin/youtube-dl |
|
sudo chown $YOU /usr/local/bin/youtube-dl |
|
fi |
|
|
|
############################### |
|
# MPD/MPC RompR AUDIO LAYER |
|
############################### |
|
if [[ ! $(which mpd) ]]; then |
|
sudo apt-get install libid3-tools mpd mpc lame ffmpeg lsof lltag inotify-tools bc -y || err=1 |
|
sudo apt-get install lame sox libsox-fmt-mp3 eyed3 python-chardet imagemagick curl -y || err=1 #libav-tools unavailable on some system |
|
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 /home/$YOU/.zen/astrXbian/.install/templates/copylaradio/mpd.conf /etc/mpd.conf |
|
sudo sed -i "s/_USER_/$YOU/g" /etc/mpd.conf || err=1 |
|
mkdir ~/.config/mpd && sudo cp -f /etc/mpd.conf ~/.config/mpd/mpd.conf && sudo chown $YOU ~/.config/mpd/mpd.conf |
|
|
|
## CHOWN mpd FILES STRUCTURE |
|
sudo chown -R $YOU /var/lib/mpd/ /var/run/mpd /run/mpd /var/log/mpd |
|
sudo service mpd restart || err=1 |
|
fi |
|
|
|
### INSTALL NGINX |
|
echo '++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
|
_ |
|
____ ____ _(_)___ _ __ |
|
/ __ \/ __ `/ / __ \| |/_/ |
|
/ / / / /_/ / / / / /> < |
|
/_/ /_/\__, /_/_/ /_/_/|_| |
|
/____/ |
|
|
|
install |
|
' | lolcat |
|
|
|
# sudo apt-get install nginx ssl-cert php-curl php-sqlite3 php-gd php-json php-xml php-mbstring php-fpm sqlite -y || err=1 |
|
# [[ ! $(which nslookup) ]] && sudo apt-get install dnsutils -y |
|
# ALREADY DONE in main install.sh |
|
|
|
|
|
echo '++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
|
__ ___ _ ___ |
|
/ |/ /_ __ ____ ____ _____ ___ ___ (_)___/__ \ |
|
/ /|_/ / / / / / __ \/ __ `/ __ `__ \/ _ \ / / ___// _/ |
|
/ / / / /_/ / / / / / /_/ / / / / / / __/ / (__ )/_/ |
|
/_/ /_/\__, / /_/ /_/\__,_/_/ /_/ /_/\___/ /_/____/(_) |
|
/____/ |
|
' | lolcat |
|
|
|
myIP=$(hostname -I | awk '{print $1}' | head -n 1) |
|
isLAN=$(echo $myIP | grep -E "/(^127\.)|(^192\.168\.)|(^10\.)|(^172\.1[6-9]\.)|(^172\.2[0-9]\.)|(^172\.3[0-1]\.)|(^::1$)|(^[fF][cCdD])/") |
|
|
|
# Ask to the router its name (BOX DNS or system defined) |
|
[[ -f /home/$YOU/.zen/astrXbian/zen/tools/nodename ]] && NODENAME=$(/home/$YOU/.zen/astrXbian/zen/tools/nodename) \ |
|
|| NODENAME=$(curl -s https://git.p2p.legal/axiom-team/astroport/raw/master/zen/tools/nodename | bash) ## RUNNING ALONE !! |
|
|
|
echo $NODENAME |
|
|
|
|
|
echo ' |
|
__ ____ _ __________ __ |
|
/ / / __ \ | / / ____/ / ____ _____ ____/ / |
|
/ / / / / / | / / __/ / / / __ `/ __ \/ __ / |
|
/ /___/ /_/ /| |/ / /___/ /___/ /_/ / / / / /_/ / |
|
/_____/\____/ |___/_____/_____/\__,_/_/ /_/\__,_/ |
|
|
|
Portal |
|
' | lolcat |
|
|
|
### |
|
|
|
echo "JUKEBOX init" |
|
sudo rm -Rf /var/www/jukebox |
|
sudo cp -Rf /home/xbian/.zen/astrXbian/www/jukebox /var/www/jukebox |
|
sudo mkdir -p /var/www/jukebox/albumart |
|
sudo chmod 777 /var/www/jukebox/albumart |
|
sudo mkdir -p /var/www/jukebox/prefs |
|
sudo chmod 777 /var/www/jukebox/prefs |
|
sudo chown -R xbian:xbian /var/www/jukebox |
|
sudo cp -f /home/xbian/.zen/astrXbian/.install/templates/nginx/jukebox.conf /etc/nginx/conf.d/ |
|
|
|
|
|
# CONFIG NGINX - LOVE LAND FRONTAL WEB PAGE |
|
echo "$NODENAME" | figlet -f slant | lolcat |
|
|
|
## Write NODENAME to IPFS |
|
echo "$NODENAME" > /home/$YOU/.zen/ipfs/.$IPFSNODEID/G1SSB/_nodename |
|
|
|
PHPVERSION=$(ps auxf | grep php-fpm | grep -v -E 'color=auto|grep' | head -n 1 | grep -oP '(?<=\().*(?=\))' | awk -F '/' '{print $4}') |
|
|
|
##### RESTART NGINX |
|
sudo service nginx restart || err=1 |
|
|
|
if [[ $err ]]; then |
|
|
|
echo -e "${c_red}Installation de bizarre??$c_" |
|
echo "PLEASE... POST YOUR ISSUE! https://git.p2p.legal/axiom-team/astroport/issues" |
|
|
|
exit 1 |
|
else |
|
|
|
echo -e "${c_green}Installation réalisée avec succès$c_" |
|
echo -e "Astroport JUKEBOX http://$NODENAME (TRY ME)" |
|
|
|
fi |
|
|
|
} # for script being completely downloaded before run
|
|
|