diff --git a/.install/ipfs_alone.sh b/.install/ipfs_alone.sh new file mode 100644 index 0000000..7c7a1d3 --- /dev/null +++ b/.install/ipfs_alone.sh @@ -0,0 +1,63 @@ +#!/bin/bash +# Install IPFS get template from git (soon IPFS TODO) + +MY_PATH="`dirname \"$0\"`" # relative +MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized + +if [ "$EUID" -eq 0 ] + then echo -e "${c_red}DO NOT EXECUTE AS root. Choose a user for your Astroport Station (we like pi)$c_" + exit 1 +else echo -e "${c_yellow}OK $USER, let's go!$c_"; +fi + +[[ -d ~/.ipfs ]] && echo "IPFS install exist, please remove backup before execute this script" && exit 1 + +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" + +echo "CREATE SYSTEMD ipfs SERVICE" +curl -s https://git.p2p.legal/axiom-team/astroport/raw/master/.install/templates/ipfs/ipfs.service -o /tmp/ipfs.service +sudo cp -f /tmp/ipfs.service /etc/systemd/system/ +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" + +# INIT ipfs +ipfs init -p lowpower +# ipfs init -p server ## Uncomment for server infrastructure + +# ACTIVATE CONFIG OPTIONS +# PUBSUB +ipfs config Pubsub.Router gossipsub +# MAXSTORAGE +availableDiskSize=$(df -P ~/ | awk 'NR>1{sum+=$4}END{print sum}') +diskSize="$((availableDiskSize / 2))" +ipfs config Datastore.StorageMax $diskSize +## PORT FORWARD (SSH) +ipfs config --json Experimental.Libp2pStreamMounting true + +######### UPDATE BOOTSTRAP LIST ########### +ipfs bootstrap rm --all + +sudo systemctl restart ipfs || err+="Restart IPFS daemon" + + +exit 0