create remove and purge script
rename install script
This commit is contained in:
parent
d18455849c
commit
1841508b68
23
README.md
23
README.md
@ -1,11 +1,26 @@
|
||||
# Install IPFS as Daemon
|
||||
# IPFS as Service / Daemon
|
||||
|
||||
## Requirement
|
||||
|
||||
used on Debian based Distros
|
||||
on Debian based Distros install it with:
|
||||
|
||||
apt-get install -y git wget tar gzip sudo
|
||||
|
||||
## Install
|
||||
|
||||
ipfs will save files in /var/spool/ipfs/ and run as "ipfs"
|
||||
if you like to change this,
|
||||
edit Settings section in "./install" before execution
|
||||
|
||||
git clone https://github.com/6543/ipfs_daemon
|
||||
cd ipfs_daemon
|
||||
sudo ./setup-ipfs-daemon
|
||||
sudo ./install
|
||||
|
||||
ipfs save files in /var/spool/ipfs/
|
||||
## Remove
|
||||
|
||||
sudo ./remove
|
||||
|
||||
## Purge
|
||||
to delete all data use:
|
||||
|
||||
sudo ./purge
|
||||
|
78
install
Executable file
78
install
Executable file
@ -0,0 +1,78 @@
|
||||
#!/bin/bash
|
||||
# Licence GPL 3
|
||||
|
||||
#####################
|
||||
## S e t t i n g s ##
|
||||
#####################
|
||||
|
||||
VERSION=0.4.13
|
||||
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 -`
|
44
ipfs.initd
Executable file → Normal file
44
ipfs.initd
Executable file → Normal file
@ -33,6 +33,26 @@ ipfs_start() {
|
||||
fi
|
||||
} # ipfs_start
|
||||
|
||||
ipfs_console() {
|
||||
export "IPFS_PATH=$DATA_DIR"
|
||||
export "HOME=$DATA_DIR"
|
||||
line=
|
||||
while [ "$line" != "exit" ] ; do
|
||||
echo -n 'ipfs:> '
|
||||
read line
|
||||
#parse exit string
|
||||
[ "$line" == "quit" ] && line=exit
|
||||
# exec ipfs <comands>
|
||||
[ "$line" == "exit" ] || sudo -E -u ipfs ipfs $line
|
||||
[ "$?" == "1" ] && {
|
||||
echo "command failed"
|
||||
echo "use 'help' to show subcomands"
|
||||
echo "use '<subcmd> --help' for more information"
|
||||
echo "use 'exit' to leave the console"
|
||||
}
|
||||
done
|
||||
} # ipfs_console
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
if [ -s $IPFS_PID_FILE ] && kill -0 $(cat $IPFS_PID_FILE) >/dev/null 2>&1; then
|
||||
@ -44,11 +64,23 @@ case "$1" in
|
||||
ipfs_start
|
||||
;;
|
||||
stop)
|
||||
log_daemon_msg "Stopping ipfs daemon" "ipfs"
|
||||
start-stop-daemon --stop --quiet --oknodo --pidfile $IPFS_PID_FILE
|
||||
log_end_msg $?
|
||||
rm -f $IPFS_PID_FILE
|
||||
;;
|
||||
log_daemon_msg "Stopping ipfs daemon" "ipfs"
|
||||
start-stop-daemon --stop --quiet --oknodo --pidfile $IPFS_PID_FILE
|
||||
og_end_msg $?
|
||||
rm -f $IPFS_PID_FILE
|
||||
;;
|
||||
console)
|
||||
log_daemon_msg "Restarting rsync daemon" "ipfs"
|
||||
if [ -s $IPFS_PID_FILE ] && kill -0 $(cat $IPFS_PID_FILE) >/dev/null 2>&1; then
|
||||
start-stop-daemon --stop --quiet --oknodo --pidfile $IPFS_PID_FILE || true
|
||||
sleep 1
|
||||
else
|
||||
log_warning_msg "ipfs daemon not running, attempting to start."
|
||||
rm -f $IPFS_PID_FILE
|
||||
fi
|
||||
ipfs_start
|
||||
ipfs_console
|
||||
;;
|
||||
restart)
|
||||
log_daemon_msg "Restarting rsync daemon" "ipfs"
|
||||
if [ -s $IPFS_PID_FILE ] && kill -0 $(cat $IPFS_PID_FILE) >/dev/null 2>&1; then
|
||||
@ -65,7 +97,7 @@ case "$1" in
|
||||
exit $?
|
||||
;;
|
||||
*)
|
||||
echo "Usage: /etc/init.d/ipfs {start|stop|restart|status}"
|
||||
echo "Usage: /etc/init.d/ipfs {start|stop|restart|status|console}"
|
||||
exit 1
|
||||
esac
|
||||
|
||||
|
31
purge
Executable file
31
purge
Executable file
@ -0,0 +1,31 @@
|
||||
#!/bin/bash
|
||||
# Licence GPL 3
|
||||
|
||||
[ "`id -u`" != "0" ] && { echo run as root; exit 1; }
|
||||
|
||||
############################
|
||||
## if daemon skript exist ##
|
||||
############################
|
||||
if [ -f /etc/init.d/ipfs ] ; then
|
||||
DAEMON=`cat /etc/init.d/ipfs | grep DAEMON= | sed 's/DAEMON=//g'`
|
||||
IPFS_PID_FILE=`cat /etc/init.d/ipfs | grep IPFS_PID_FILE= | sed 's/IPFS_PID_FILE=//g'`
|
||||
IPFS_DATA=`cat /etc/init.d/ipfs | grep IPFS_DATA= | sed 's/IPFS_DATA=//g'`
|
||||
IPFS_UID=`cat /etc/init.d/ipfs | grep IPFS_UID= | sed 's/IPFS_UID=//g'`
|
||||
IPFS_User=`id $IPFS_UID | cut -d "(" -f 2 | cut -d ")" -f 1`
|
||||
|
||||
[ -f "$DAEMON" ] && rm "$DAEMON"
|
||||
[ -f "$IPFS_PID_FILE" ] && rm "$DAEMON"
|
||||
[ -d "$IPFS_DATA" ] && rm -R "$IPFS_DATA"
|
||||
|
||||
sudo deluser $IPFS_User --remove-home
|
||||
|
||||
update-rc.d -f ipfs remove
|
||||
rm /etc/init.d/ipfs
|
||||
###################################
|
||||
## if daemon didnt exist anymore ##
|
||||
###################################
|
||||
else
|
||||
## del if default files/folders found
|
||||
[ -f "/usr/local/bin/ipfs" ] && rm "/usr/local/bin/ipfs"
|
||||
[ -d "/var/spool/ipfs/" ] && rm -R "/var/spool/ipfs/"
|
||||
fi
|
22
remove
Executable file
22
remove
Executable file
@ -0,0 +1,22 @@
|
||||
#!/bin/bash
|
||||
# Licence GPL 3
|
||||
|
||||
[ "`id -u`" != "0" ] && { echo run as root; exit 1; }
|
||||
|
||||
############################
|
||||
## if daemon skript exist ##
|
||||
############################
|
||||
[ -f /etc/init.d/ipfs ] &&{
|
||||
DAEMON=`cat /etc/init.d/ipfs | grep DAEMON= | sed 's/DAEMON=//g'`
|
||||
IPFS_PID_FILE=`cat /etc/init.d/ipfs | grep IPFS_PID_FILE= | sed 's/IPFS_PID_FILE=//g'`
|
||||
IPFS_UID=`cat /etc/init.d/ipfs | grep IPFS_UID= | sed 's/IPFS_UID=//g'`
|
||||
IPFS_User=`id $IPFS_UID | cut -d "(" -f 2 | cut -d ")" -f 1`
|
||||
|
||||
[ -f "$DAEMON" ] && rm "$DAEMON"
|
||||
[ -f "$IPFS_PID_FILE" ] && rm "$DAEMON"
|
||||
|
||||
sudo deluser $IPFS_User --remove-home
|
||||
|
||||
update-rc.d -f ipfs remove
|
||||
rm /etc/init.d/ipfs
|
||||
}
|
Loading…
Reference in New Issue
Block a user