Skip to content
Snippets Groups Projects
install.sh 4.2 KiB
Newer Older
ketominer's avatar
ketominer committed
#!/bin/bash

export DEBIAN_FRONTEND=noninteractive

ketominer's avatar
ketominer committed
# Put things in the correct places

mkdir -p /etc/nodl/
cp etc/nodl-config.php /etc/nodl/config.php

mkdir -p /var/www/html/admin
cp -r www/* www/.htaccess /var/www/html/admin/

ketominer's avatar
ketominer committed
cp admin-redirect.html /var/www/html/index.html

ketominer's avatar
ketominer committed
mkdir -p /usr/share/nodl
cp -r share/* /usr/share/nodl/
ketominer's avatar
ketominer committed
chmod +x /usr/share/nodl/*.sh
ketominer's avatar
ketominer committed

cp -r bin/* /usr/local/bin/

ketominer's avatar
ketominer committed
cp /usr/share/nodl/files/logrotate.d-rsyslog /etc/logrotate.d/rsyslog
ketominer's avatar
ketominer committed
chmod +x /usr/local/bin/nodl-service.sh
ketominer's avatar
ketominer committed
chmod +x /usr/local/bin/reset-admin-password
ketominer's avatar
.  
ketominer committed
chmod +x /usr/local/bin/electrs
ketominer's avatar
.  
ketominer committed

cp etc/init.d/nodl-service /etc/init.d/nodl-service
cp etc/init.d/nodl-installer /etc/init.d/nodl-installer
cp etc/init.d/lnd /etc/init.d/lnd
cp etc/init.d/electrs /etc/init.d/electrs
cp etc/init.d/bitcoind /etc/init.d/bitcoind
ketominer's avatar
.  
ketominer committed
cp etc/init.d/pm2-dojo /etc/init.d/pm2-dojo
cp etc/init.d/pm2-rtl /etc/init.d/pm2-rtl
chmod +x /etc/init.d/*
ketominer's avatar
.  
ketominer committed

ketominer's avatar
.  
ketominer committed
systemctl enable nodl-service
pgrep nodl-service || service nodl-service start
ketominer's avatar
ketominer committed
systemctl enable nodl-installer
pgrep nodl-installer || service nodl-installer start
ketominer's avatar
.  
ketominer committed

ketominer's avatar
ketominer committed
cp /usr/share/nodl/files/transfer.sh /etc/profile.d/transfer.sh

mkdir -p /var/log/supervisor
mkdir -p /var/log.hdd/supervisor
ketominer's avatar
ketominer committed

ketominer's avatar
ketominer committed
mkdir -p /etc/nginx/modules-available/
mkdir -p /etc/nginx/modules-enabled/

ketominer's avatar
.  
ketominer committed
cp /usr/share/nodl/files/99-grpc-lnd.conf /etc/nginx/modules-available/
ketominer's avatar
ketominer committed
if [ ! -e /etc/nginx/modules-enabled/99-grpc-lnd.conf ]; then
  ln -s /etc/nginx/modules-available/99-grpc-lnd.conf /etc/nginx/modules-enabled/99-grpc-lnd.conf
  touch /tmp/nginx-restart
fi

if ! grep -q modules-enabled /etc/nginx/nginx.conf ; then 
  cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.old
  cat /usr/share/nodl/files/nginx-include.snippet /etc/nginx/nginx.conf.old > /etc/nginx/nginx.conf
  touch /tmp/nginx-restart
fi
ketominer's avatar
.  
ketominer committed
cp /usr/share/nodl/files/nginx-dojo /etc/nginx/sites-available/dojo
if [ ! -e /etc/nginx/sites-enabled/dojo ]; then
  ln -s /etc/nginx/sites-available/dojo /etc/nginx/sites-enabled/dojo
ketominer's avatar
.  
ketominer committed
  touch /tmp/nginx-restart
fi

apt-key add /usr/share/nodl/files/nodesource.gpg.key

VERSION=node_10.x
DISTRO="$(lsb_release -s -c)"
echo "deb https://deb.nodesource.com/$VERSION $DISTRO main" | sudo tee /etc/apt/sources.list.d/nodesource.list
echo "deb-src https://deb.nodesource.com/$VERSION $DISTRO main" | sudo tee -a /etc/apt/sources.list.d/nodesource.list

apt-get update
apt-get -y install nodejs

npm -g install pm2

if [ ! -e /opt/dojo ]; then
  useradd -d /opt/dojo -s /bin/bash -m dojo 
fi

if [ ! -e /opt/dojo/samourai-dojo ]; then
  sudo -H -u dojo bash -c "cd /opt/dojo ; tar zxvf /usr/local/bin/samourai-dojo.tgz ; cd samourai-dojo ; npm install"
  sudo -H -u dojo bash -c "cd /opt/dojo/samourai-dojo ; ./pm2.sh"
  sudo -H -u dojo bash -c "cd /opt/dojo/samourai-dojo ; pm2 install pm2-logrotate"
ketominer's avatar
.  
ketominer committed
  sudo -H -u dojo bash -c "cd /opt/dojo/samourai-dojo ; pm2 dump"
ketominer's avatar
.  
ketominer committed

  sudo env PATH=$PATH:/usr/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemv -u dojo --hp /opt/dojo

ketominer's avatar
.  
ketominer committed
  sudo -H -u dojo bash -c "cd /opt/dojo/samourai-dojo ; pm2 kill"
ketominer's avatar
.  
ketominer committed

  rpcuser="rpc"
  rpcpass=$(</etc/nodl/bitcoind-rpc.pwd)
  mariapass=$(</etc/nodl/maria-dojo.pwd)
  adminkey=$(</etc/nodl/dojo-adminkey.pwd)
  apikey=$(</etc/nodl/dojo-apikey.pwd)
  jwtsecret=$(</etc/nodl/dojo-jwtsecret.pwd)

ketominer's avatar
.  
ketominer committed
  sed -e "s/BITCOINRPCUSER/$rpcuser/" -i /usr/share/nodl/files/dojo-keys.js
  sed -e "s/BITCOINRPCPASS/$rpcpass/" -i /usr/share/nodl/files/dojo-keys.js
  sed -e "s/DOJOMARIAPASS/$mariapass/" -i /usr/share/nodl/files/dojo-keys.js
  sed -e "s/DOJOADMINKEY/$adminkey/" -i /usr/share/nodl/files/dojo-keys.js
  sed -e "s/DOJOAPIKEY/$apikey/" -i /usr/share/nodl/files/dojo-keys.js
  sed -e "s/DOJOJWTSECRET/$jwtsecret/" -i /usr/share/nodl/files/dojo-keys.js
ketominer's avatar
.  
ketominer committed

ketominer's avatar
.  
ketominer committed
  cp /usr/share/nodl/files/dojo-keys.js /opt/dojo/samourai-dojo/keys/index.js
ketominer's avatar
.  
ketominer committed

ketominer's avatar
.  
ketominer committed
  chown dojo:dojo /opt/dojo/samourai-dojo/keys/index.js
ketominer's avatar
.  
ketominer committed

  mariaroot=$(</etc/nodl/maria-root.pwd)
  sed -e "s/DOJOMARIAPASS/$mariapass/" -i /usr/share/nodl/sql/install-dojo.sql
ketominer's avatar
.  
ketominer committed
  mysql -u root -p$mariaroot < /usr/share/nodl/sql/install-dojo.sql

ketominer's avatar
.  
ketominer committed
fi

ketominer's avatar
ketominer committed
rm -f /usr/bin/ip
ln -s /sbin/ip /usr/bin/ip
ketominer's avatar
ketominer committed

ketominer's avatar
.  
ketominer committed
killall dpkg

ketominer's avatar
.  
ketominer committed
apt-get update
ketominer's avatar
.  
ketominer committed
apt-get -y install php7.2-gd inotify-tools php-gnupg php7.2-curl man telnet curl wget screen python3-dev python3-venv
ketominer's avatar
ketominer committed

ketominer's avatar
ketominer committed
adduser bitcoin debian-tor

ketominer's avatar
.  
ketominer committed
mkdir /mnt/backup

dpkg --configure -a