79 lines
1.5 KiB
Bash
Executable File
79 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
# Licence GPL 3
|
|
|
|
#####################
|
|
## S e t t i n g s ##
|
|
#####################
|
|
|
|
VERSION=0.4.14
|
|
AIM=/usr/local/bin/ipfs
|
|
DATA_DIR=/var/spool/ipfs/
|
|
USER=ipfs
|
|
|
|
####### ENDE #######
|
|
|
|
[ "`id -u`" != "0" ] && { echo run as root; exit 1; }
|
|
|
|
#################
|
|
## daemon user ##
|
|
#################
|
|
|
|
adduser $USER --disabled-password --disabled-login --home $DATA_DIR --system
|
|
|
|
|
|
#################
|
|
## init skript ##
|
|
#################
|
|
|
|
cp ipfs.initd /etc/init.d/ipfs
|
|
sed -i "s/#GID#/`id -g $USER`/g" /etc/init.d/ipfs
|
|
sed -i "s/#UID#/`id -u $USER`/g" /etc/init.d/ipfs
|
|
sed -i 's|#DATA#|'${DATA_DIR}'|g' /etc/init.d/ipfs
|
|
sed -i 's|#AIM#|'${AIM}'|g' /etc/init.d/ipfs
|
|
chmod +x /etc/init.d/ipfs
|
|
update-rc.d ipfs defaults
|
|
|
|
|
|
##################
|
|
## install ipfs ##
|
|
##################
|
|
|
|
# creat tmp and enter it
|
|
cd `mktemp -d`
|
|
|
|
# select CPU architecture
|
|
ARCH=`uname -m`
|
|
case "$ARCH" in
|
|
i?86) ARCH=386 ;;
|
|
x86_64) ARCH="amd64" ;;
|
|
*arm*) ARCH="arm" ;;
|
|
*) echo ipfs for $arch not available; exit 1 ;;
|
|
esac
|
|
|
|
#download ...
|
|
wget "https://dist.ipfs.io/go-ipfs/v"$VERSION"/go-ipfs_v"$VERSION"_linux-"$ARCH".tar.gz"
|
|
|
|
#extract
|
|
tar xzf go-ipfs_*
|
|
|
|
#delete old one if exit
|
|
[ -f $AIM ] && rm $AIM
|
|
|
|
# install new
|
|
cp go-ipfs/ipfs $AIM
|
|
|
|
#set permissions
|
|
chmod 770 $AIM
|
|
chown $USER $AIM
|
|
|
|
## init ipfs
|
|
export "IPFS_PATH=$DATA_DIR"
|
|
export "HOME=$DATA_DIR"
|
|
sudo -E -u ipfs ipfs init --profile=server
|
|
#If you're not running ipfs in a hosted environment, use ipfs init"
|
|
sed -i 's/127.0.0.1/0.0.0.0/g' $DATA_DIR/config
|
|
|
|
#go back and delete temp
|
|
cd -
|
|
rm -r `cd -`
|