G1sms/.install/install_ipfs_layer.sh

132 lines
5.7 KiB
Bash
Executable File

#!/bin/bash
################################################################################
# Author: Fred (support@qo-op.com)
# Version: 0.1
# 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
stamp=$(date +%s)
[ -z "$MY_PATH" ] && exit 1
echo $MY_PATH
templates="$MY_PATH/templates"
#######################################
# INSTALL IPFS on G1sms+ Pi NODES
#######################################
echo "DEFAULT INSTALL SCRIPT. VALIDATED ON RASPBERRYPI, SHOULD BE ADAPTED IF NOT ARM ARCH SYSTEM.
You are going to download and install ipfs daemon environement for running G1sms+ NODE.
TODO: TEST TEST TEST TEST + MANAGE DIFFERENT ARCH
Ready?"
read
if [[ "$USER" == "root" ]]; then echo "Better run by 'pi', please create non-root user and become that user before launching ipfs install..."; exit;
else echo "$USER, let's go!";
fi
echo "GET ipfs-update"
[[ ! -z $(which /usr/local/bin/ipfs) ]] && sudo service ipfs stop
##rm ~/.ipfs/ -r
if [[ -d ~/.ipfs/ ]]; then
fi
wget -P $MY_PATH https://dist.ipfs.io/ipfs-update/v1.5.2/ipfs-update_v1.5.2_linux-arm.tar.gz
echo "INSTALL ipfs-update"
sudo tar -xvzf $MY_PATH/ipfs-update_v1.5.2_linux-arm.tar.gz -C /usr/src/
rm $MY_PATH/ipfs-update_v1.5.2_linux-arm.tar.gz
cd /usr/src/ipfs-update
sudo ./install.sh
echo "INSTALL latest ipfs"
sudo ipfs-update install latest
echo "CREATE SYSTEMD ipfs SERVICE"
[[ ! -z $(which /etc/systemd/system/ipfs.service) ]] && sudo rm /etc/systemd/system/ipfs.service
sudo cp -f $templates/ipfs.service /etc/systemd/system/
sudo sed -i "s/_USER/$USER/g" /etc/systemd/system/ipfs.service
sudo systemctl daemon-reload
sudo systemctl enable ipfs
################
# BECOME $USER
# INIT ipfs
ipfs init -p lowpower
# ACTIVATE CONFIG OPTIONS
# PUBSUB
ipfs config Pubsub.Router gossipsub
# MAXSTORAGE
ipfs config Datastore.StorageMax 12GB
## PORT FORWARD (SSH)
ipfs config --json Experimental.Libp2pStreamMounting true
######### UPDATE BOOTSTRAP LIST ###########
ipfs bootstrap rm --all
### fred@onelove.madeinzion.org ###
# ID: QmSX7gFRPHui5A2DWFk2VmBvq6hynj2hubhJLQAwPWe4Lh
ipfs bootstrap add /ip6/fe80::207:cbff:fe0b:75bb/tcp/4001/ipfs/QmSX7gFRPHui5A2DWFk2VmBvq6hynj2hubhJLQAwPWe4Lh
ipfs bootstrap add /ip4/51.15.2.211/tcp/4001/ipfs/QmSX7gFRPHui5A2DWFk2VmBvq6hynj2hubhJLQAwPWe4Lh
### ADD NEW SWARM LEADERS SERVER HERE ###
# ALLOW REMOTE SSH CONNECTION FROM rec OR onelove (For swarm.key & keystore exchange )
# ADD SSH ADMIN/SUPPORT USERS $(cat .ssh/id_rsa.pub)
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCs6oXRmPukaX7u2tDcFF1cecsDSEA30YyUqDaXSrw+yWQ8G79ktZ7BN0bPYBgfxO59FU8l5Jg1SPPG9kj81jfoCwGJpYdbczmMuP/iqw3aNoGv66swxwxzrqzbHrFFCXgn+6B2spDjn87tFB8JvQQTb2Kc4/sAZ9E6eY61pFiNpqbQehXdqSV5UemV9dkSQrnmJTl1PjUQ474AKQwFPzpdKHD/3VvqQS4i7ZLVeXS65euOP/YY8Bx9HvhsmhJ3h78OOK+D6GFfyv010xXBoG6kCSYR8LYMCEexpPGYV+Mduf/tUHjHP4GuWZAhd+wLRl0uPy6Tv7wHFfLyN01m/9vl fred@rec" >> ~/.ssh/authorized_keys
echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDFthQ3FggJlz/+ZglZJjVJzYs6ehx/iB7f89KY396K+7ai4ETqFhq6ANVp9xeQ4dLU26w0bFBELcnh9rn5QDSrXjsIptoWXErkSdZOeXqofnLtJEOhZO/I328y0C1vQRwtMMXKLLnqPe14h+zJenc7KJbL5cvB3Hd7nfQ+Q0uEnIsKb0f5wcKagySHIFdmY/FqaGz5g4MXGq7nlX/31hvfTFhF0g+k3mhvTTVQ368Op9qZZIozYhBoojWWvK5mwAovxdS9QT1hKrFXHfjov/aKQxLAy0a0oxFvHKoYN/l4ffGibFMAmedljTxf1VSDBv/k/RN53UU6RufW3qqBjY0b fred@onelove" >> ~/.ssh/authorized_keys
# START ipfs
sudo systemctl start ipfs
##################################
## INSTALL TOOLS
######## YOUTUBE-DL ##########
sudo wget -P $MY_PATH https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl
sudo apt install libid3-tools mpd mpc lame -y
## CONFIG MPD
sudo cp -f $templates/mpd.conf /etc/mpd.conf
sudo sed -i "s/_USER/$USER/g" /etc/mpd.conf
sudo chown -R $USER /var/lib/mpd/ /var/run/mpd /run/mpd /var/log/mpd
sudo service mpd restart
sudo apt-get install nginx php-curl php-sqlite3 php-gd php-json php-xml php-mbstring php-fpm sqlite -y
sudo apt-get install lame sox libsox-fmt-mp3 eyed3 python-chardet imagemagick curl -y #libav-tools
sudo apt-get install ca-certificates git-core binutils rsync alsa-utils bc libid3-tools espeak mpg321 fuse atomicparsley -y #libttspico-utils
wget -P $MY_PATH http://launchpadlibrarian.net/339874908/libav-tools_3.3.4-2_all.deb
wget -P $MY_PATH http://ftp.fr.debian.org/debian/pool/non-free/s/svox/libttspico-data_1.0+git20130326-3_all.deb
wget -P $MY_PATH http://ftp.fr.debian.org/debian/pool/non-free/s/svox/libttspico0_1.0+git20130326-3_armhf.deb
wget -P $MY_PATH http://ftp.fr.debian.org/debian/pool/non-free/s/svox/libttspico-utils_1.0+git20130326-3_armhf.deb
sudo dpkg -i $MY_PATH/libttspico-data_1.0+git20130326-3_all.deb
sudo dpkg -i $MY_PATH/libttspico0_1.0+git20130326-3_armhf.deb
sudo dpkg -i $MY_PATH/libttspico-utils_1.0+git20130326-3_armhf.deb
sudo dpkg -i $MY_PATH/libav-tools_3.3.4-2_all.deb
rm $MY_PATH/libttspico-data_1.0+git20130326-3_all.deb $MY_PATH/libttspico0_1.0+git20130326-3_armhf.deb $MY_PATH/libttspico-utils_1.0+git20130326-3_armhf.deb $MY_PATH/libav-tools_3.3.4-2_all.deb
# CONFIG NGINX
sudo cp -f $templates/default /etc/nginx/sites-available/
sudo sed -i "s/_USER/$USER/g" /etc/nginx/sites-available/default
sudo systemctl restart nginx
#################################
## Get _CopyLaRadio distrib
# ipfs get Qm.... > /tmp/copylaradio.zip
# Add CopyLaRadio to system PATH
#export PATH=$PATH:/home/$USER/_CopyLaRadio
# etc....
# INSTALL ROMPR WebSite LINKs
#sudo ln -s /home/$USER/_CopyLaRadio/www/rompr /var/www/rompr
#sudo chmod 777 /home/$USER/_CopyLaRadio/www/rompr/albumart
#sudo chmod 777 /home/$USER/_CopyLaRadio/www/rompr/prefs