132 lines
5.7 KiB
Bash
132 lines
5.7 KiB
Bash
|
#!/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
|
||
|
|