2020-03-27 01:50:40 +01:00
#!/bin/bash
2020-03-19 21:25:39 +01:00
# Install IPFS
2020-03-27 01:50:40 +01:00
MY_PATH = " `dirname \" $0 \"` " # relative
MY_PATH = " `( cd \" $MY_PATH \" && pwd )` " # absolutized and normalized
## Config
diskSize = "5G"
templates = " $MY_PATH /templates/ipfs "
if [ " $EUID " -eq 0 ]
then echo -e " ${ c_red } Veuillez ne pas executez ce script en root. Choisissez un utilisateur pour votre serveur G1sms+ (nous recommandons l'utilisateur pi) $c_ "
exit 1
else echo -e " ${ c_yellow } OK $USER , let's go! $c_ " ;
fi
[ [ -d ~/.ipfs-old/ ] ] && echo "Backup exist, please remove backup before execute this script" && exit 1
[ [ -d ~/.ipfs/ ] ] && rm -rf ~/.ipfs-old && mv ~/.ipfs/ ~/.ipfs-old
ipfs_install( ) {
2020-03-19 21:25:39 +01:00
echo -e " ${ c_yellow } Onboarding IPFS... $c_ "
[ [ -f /usr/local/bin/ipfs ] ] && sudo service ipfs stop
if [ [ $ARM = = "yes" ] ] ; then
wget https://dist.ipfs.io/ipfs-update/v1.5.2/ipfs-update_v1.5.2_linux-arm.tar.gz -O $MY_PATH /ipfs-update.tar.gz || err += "Download ipfs-update"
else
wget https://dist.ipfs.io/ipfs-update/v1.5.2/ipfs-update_v1.5.2_linux-amd64.tar.gz -O $MY_PATH /ipfs-update.tar.gz || err += "Download ipfs-update"
fi
echo "INSTALL ipfs-update"
sudo tar -xvzf $MY_PATH /ipfs-update.tar.gz -C /usr/src/ || err += "Untar ipfs-update"
rm $MY_PATH /ipfs-update.tar.gz
cd /usr/src/ipfs-update/
sudo ./install.sh || err += "Install ipfs-update"
cd $MY_PATH
echo "INSTALL latest ipfs"
sudo ipfs-update install latest || err += "Install IPFS"
2020-03-23 21:40:52 +01:00
fi
2020-03-27 02:01:26 +01:00
2020-03-23 21:40:52 +01:00
if [ [ ! -f /etc/systemd/system/ipfs.service ] ] ; then
echo "CREATE SYSTEMD ipfs SERVICE"
sudo cp -f $BASE_DIR /ipfs.service /etc/systemd/system/
sudo sed -i " s/_USER/ $USER /g " /etc/systemd/system/ipfs.service
2020-03-19 21:25:39 +01:00
echo "CREATE SYSTEMD ipfs SERVICE"
[ [ -f /etc/systemd/system/ipfs.service ] ] && sudo rm /etc/systemd/system/ipfs.service
2020-03-27 01:50:40 +01:00
sudo cp -f $templates /ipfs.service /etc/systemd/system/
2020-03-19 21:25:39 +01:00
sudo sed -i " s/_USER/ $USER /g " /etc/systemd/system/ipfs.service
sudo systemctl daemon-reload || err += "Restart IPFS"
sudo systemctl enable ipfs || err += "Enable IPFS daemon"
2020-03-27 01:50:40 +01:00
################
# BECOME $USER
# INIT ipfs
ipfs init -p lowpower
# ipfs init -p server ## Uncomment for server infrastructure
# ACTIVATE CONFIG OPTIONS
# PUBSUB
ipfs config Pubsub.Router gossipsub
# MAXSTORAGE
ipfs config Datastore.StorageMax $diskSize
## PORT FORWARD (SSH)
ipfs config --json Experimental.Libp2pStreamMounting true
######### UPDATE BOOTSTRAP LIST ###########
ipfs bootstrap rm --all
2020-03-27 02:01:26 +01:00
sudo systemctl daemon-reload || err += "Restart IPFS"
2020-03-19 21:25:39 +01:00
}
2020-03-27 01:50:40 +01:00
ipfs_install
exit 0