64 lines
1.5 KiB
Bash
64 lines
1.5 KiB
Bash
#!/bin/bash
|
|
|
|
set -x
|
|
|
|
export TRANSPORTURL="https://raw.githubusercontent.com/JaquerEspeis/apt-transport-ipfs/master/ipfs"
|
|
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
|
|
apt update
|
|
apt install -y golang runit runit-systemd git lsb-release python3-pip
|
|
pip3 install ipfsapi
|
|
|
|
go get -u github.com/ipfs/ipfs-update && \
|
|
/root/go/bin/ipfs-update install latest && \
|
|
adduser --system --group --home /var/lib/ipfs ipfs && \
|
|
mkdir /etc/service/ipfsd && \
|
|
curl -f $TRANSPORTURL > /usr/lib/apt/methods/ipfs && \
|
|
chmod +x /usr/lib/apt/methods/ipfs
|
|
|
|
cat > /etc/service/ipfsd/run <<'__EOF__'
|
|
#!/bin/bash
|
|
|
|
sleep 1 # prevent cpu spike on looping
|
|
|
|
export HOME="/var/lib/ipfs"
|
|
export IPFS="/usr/local/bin/ipfs"
|
|
cd $HOME
|
|
|
|
export IPFS_PATH="$HOME"
|
|
|
|
if [[ ! -e "$IPFS_PATH/config" ]]; then
|
|
chpst -u ipfs $IPFS init
|
|
fi
|
|
|
|
exec chpst -u ipfs $IPFS daemon
|
|
__EOF__
|
|
chmod +x /etc/service/ipfsd/run
|
|
|
|
NS="Qme4tKNduvAgQKN6nKjyH7KjyMdJwyPHfeVMp2EUS6b3J1"
|
|
MUMR="main universe multiverse restricted"
|
|
cat > /etc/apt/sources.list.new <<__EOF__
|
|
deb ipfs:/ipns/$NS $(lsb_release -cs) $MUMR
|
|
deb ipfs:/ipns/$NS $(lsb_release -cs)-updates $MUMR
|
|
deb ipfs:/ipns/$NS $(lsb_release -cs)-security $MUMR
|
|
deb ipfs:/ipns/$NS $(lsb_release -cs)-backports $MUMR
|
|
__EOF__
|
|
|
|
if [[ ! -e /etc/apt/sources.list.orig ]]; then
|
|
mv /etc/apt/sources.list /etc/apt/sources.list.orig
|
|
fi
|
|
mv /etc/apt/sources.list.new /etc/apt/sources.list
|
|
sleep 5
|
|
|
|
if [[ ! -d $HOME/.ipfs ]]; then
|
|
mkdir -p $HOME/.ipfs
|
|
fi
|
|
|
|
echo -n '/ip4/127.0.0.1/tcp/5001' > $HOME/.ipfs/api
|
|
|
|
dpkg --remove-architecture i386
|
|
rm -rf /var/lib/apt/lists/*
|
|
apt update
|
|
|