#!/usr/bin/env bash : ${IPFS_VER="0.8.0"} tmpx="$(mktemp -d)" ipfs_service() { cat <&2 echo -e " [!!!] sudo and su not available. cannot execute cmd: $*" return 1 fi } [[ -f /usr/bin/ipfs ]] && echo "removing /usr/bin/ipfs (sudo)" && sudo rm -v /usr/bin/ipfs echo "installing ipfs using sudo - to /usr/bin/ipfs" sudo install -v "$tmpx/go-ipfs/ipfs" /usr/bin/ipfs echo "installing ipfs-cluster-service using sudo - to /usr/bin/ipfs-cluster-service" sudo install -v "$tmpx/ipfs-cluster-service/ipfs-cluster-service" /usr/bin/ echo "installing ipfs-cluster-ctl using sudo - to /usr/bin/ipfs-cluster-ctl" sudo install -v "$tmpx/ipfs-cluster-ctl/ipfs-cluster-ctl" /usr/bin/ echo "installing ipfs-cluster-follow using sudo - to /usr/bin/ipfs-cluster-follow" sudo install -v "$tmpx/ipfs-cluster-follow/ipfs-cluster-follow" /usr/bin/ if ! grep -Eq "^ipfs" /etc/passwd; then echo -e " >>> creating user: ipfs" sudo adduser --gecos "" --disabled-password ipfs echo "adding export IPFS_PATH=${IPFS_DATADIR} to .profile bashrc and zshrc for ipfs user" echo "export IPFS_PATH=\"${IPFS_DATADIR}\"" | sudo tee -a "/home/ipfs/.bashrc" echo "export IPFS_PATH=\"${IPFS_DATADIR}\"" | sudo tee -a "/home/ipfs/.profile" echo "export IPFS_PATH=\"${IPFS_DATADIR}\"" | sudo tee -a "/home/ipfs/.zshrc" fi echo "adding export IPFS_PATH=${IPFS_DATADIR} to .bashrc" echo "export IPFS_PATH=\"${IPFS_DATADIR}\"" | tee -a "${HOME}/.bashrc" echo "adding export IPFS_PATH=${IPFS_DATADIR} to .zshrc" echo "export IPFS_PATH=\"${IPFS_DATADIR}\"" | tee -a "${HOME}/.zshrc" echo "adding export IPFS_PATH=${IPFS_DATADIR} to .profile" echo "export IPFS_PATH=\"${IPFS_DATADIR}\"" | tee -a "${HOME}/.profile" #sudo su -c "bash -c 'IPFS_PATH=\"${IPFS_DATADIR}\" ipfs init --profile server'" ipfs echo -e " >>> creating ipfs.service" ipfs_service | sudo tee /etc/systemd/system/ipfs.service echo -e " >>> creating ipfs-cluster.service" ipfs_cluster_service | sudo tee /etc/systemd/system/ipfs-cluster.service echo -e " >>> reloading systemd" sudo systemctl dameon-reload echo -e " >>> enabling ipfs.service" sudo systemctl enable ipfs echo -e " !!! ready - please create and mount the dir: $IPFS_DATADIR !!!" echo -e " !!! once $IPFS_DATADIR is ready, do: \n" echo -e " sudo su -c \"bash -c 'IPFS_PATH=\"${IPFS_DATADIR}\" ipfs init --profile server'\" ipfs" echo -e " systemctl restart ipfs" echo -e "\n\n" cd -