diff --git a/BTCPayServer/btcpay_to_blitz.sh b/BTCPayServer/btcpay_to_blitz.sh index f965b5a..46c6893 100644 --- a/BTCPayServer/btcpay_to_blitz.sh +++ b/BTCPayServer/btcpay_to_blitz.sh @@ -1,5 +1,5 @@ ## Install BTCPayServer on the RaspiBlitz -#Heavily based on: https://gist.github.com/normandmickey/3f10fc077d15345fb469034e3697d0d0 +# Based on: https://gist.github.com/normandmickey/3f10fc077d15345fb469034e3697d0d0 # to download and run: # wget https://raw.githubusercontent.com/openoms/bitcoin-tutorials/master/BTCPayServer/btcpay_to_blitz.sh && bash btcpay_to_blitz.sh @@ -19,71 +19,60 @@ echo "***" echo "Type an email address that will be used to register the SSL certificate and press [ENTER]" read YOUR_EMAIL -# install nginx -sudo apt-get install nginx-full certbot -y - -# get SSL cert -sudo certbot certonly -a standalone -m $YOUR_EMAIL --agree-tos -d $YOUR_DOMAIN --pre-hook "service nginx stop" --post-hook "service nginx start" - echo "" echo "***" -echo "Setting up certbot-auto renewal service" +echo "Creating the btcpay user" echo "***" echo "" +sudo adduser --disabled-password --gecos "" btcpay +cd /home/btcpay -sudo rm -f /etc/systemd/system/certbot.timer -echo " -[Unit] -Description=Certbot-auto renewal service +# store BTCpay data on HDD +sudo mkdir /mnt/hdd/.btcpayserver -[Timer] -OnBootSec=20min -OnCalendar=*-*-* 4:00:00 +sudo mv -f /home/admin/.btcpayserver /mnt/hdd/ +sudo rm -rf /home/admin/.btcpayserver +sudo mv -f /home/btcpay/.btcpayserver /mnt/hdd/ -[Install] -WantedBy=timers.target -" | sudo tee -a /etc/systemd/system/certbot.timer - -sudo rm -f /etc/systemd/system/certbot.service -echo " -[Unit] -Description=Certbot-auto renewal service -After=bitcoind.service - -[Service] -WorkingDirectory=/home/admin/ -ExecStart=sudo certbot renew --pre-hook \"service nginx stop\" --post-hook \"service nginx start\" - -User=admin -Group=admin -Type=simple -KillMode=process -TimeoutSec=60 -Restart=always -RestartSec=60 -" | sudo tee -a /etc/systemd/system/certbot.service - -sudo systemctl enable certbot.timer - -# cleanup possible residual files from previous installs +sudo chown -R btcpay:btcpay /mnt/hdd/.btcpayserver +sudo ln -s /mnt/hdd/.btcpayserver /home/btcpay/ +# clean when installed as admin +sudo rm -f /home/admin/dotnet-sdk* +sudo rm -f /home/admin/dotnet-sdk* sudo rm -f /home/admin/.nbxplorer/Main/settings.config + +# cleanup previous installs +sudo rm -f /home/btcpay/dotnet-sdk* +sudo rm -f /home/btcpay/aspnetcore* +sudo rm -rdf /home/btcpay/dotnet +sudo rm -f /usr/local/bin/dotnet + +sudo systemctl stop nbxplorer +sudo systemctl disable nbxplorer +sudo rm -f /home/btcpay/.nbxplorer/Main/settings.config sudo rm -f /etc/systemd/system/nbxplorer.service + +sudo systemctl stop btcpayserver +sudo systemctl disable btcpayserver +sudo rm -f /home/btcpay/.btcpayserver/Main/settings.config sudo rm -f /etc/systemd/system/btcpayserver.service -sudo rm -f /home/admin/.btcpayserver/Main/settings.config sudo rm -f /etc/nginx/sites-available/btcpayserver -#dotNET +echo "" +echo "***" +echo "Installing .NET" +echo "***" +echo "" -cd /home/admin -wget https://download.visualstudio.microsoft.com/download/pr/9650e3a6-0399-4330-a363-1add761127f9/14d80726c16d0e3d36db2ee5c11928e4/dotnet-sdk-2.2.102-linux-arm.tar.gz -wget https://download.visualstudio.microsoft.com/download/pr/9d049226-1f28-4d3d-a4ff-314e56b223c5/f67ab05a3d70b2bff46ff25e2b3acd2a/aspnetcore-runtime-2.2.1-linux-arm.tar.gz -sudo mkdir /opt/dotnet sudo apt-get -y install libunwind8 gettext libssl1.0 -sudo tar -xvf dotnet-sdk-2.2.102-linux-arm.tar.gz -C /opt/dotnet/ -sudo tar -xvf aspnetcore-runtime-2.2.1-linux-arm.tar.gz -C /opt/dotnet/ -sudo ln -s /opt/dotnet/dotnet /usr/local/bin -dotnet --info +sudo -u btcpay wget https://download.visualstudio.microsoft.com/download/pr/9650e3a6-0399-4330-a363-1add761127f9/14d80726c16d0e3d36db2ee5c11928e4/dotnet-sdk-2.2.102-linux-arm.tar.gz +sudo -u btcpay wget https://download.visualstudio.microsoft.com/download/pr/9d049226-1f28-4d3d-a4ff-314e56b223c5/f67ab05a3d70b2bff46ff25e2b3acd2a/aspnetcore-runtime-2.2.1-linux-arm.tar.gz +sudo -u btcpay mkdir /home/btcpay/dotnet +sudo -u btcpay tar -xvf dotnet-sdk-2.2.102-linux-arm.tar.gz -C /home/btcpay/dotnet +sudo -u btcpay tar -xvf aspnetcore-runtime-2.2.1-linux-arm.tar.gz -C /home/btcpay/dotnet +sudo ln -s /home/btcpay/dotnet/dotnet /usr/local/bin +sudo -u btcpay /home/btcpay/dotnet/dotnet --info echo "" echo "***" @@ -91,10 +80,10 @@ echo "Installing NBXplorer" echo "***" echo "" -cd /home/admin -git clone https://github.com/dgarage/NBXplorer.git +cd /home/btcpay +sudo -u btcpay git clone https://github.com/dgarage/NBXplorer.git cd NBXplorer -./build.sh +sudo -u btcpay ./build.sh echo " [Unit] @@ -103,9 +92,9 @@ Requires=bitcoind.service After=bitcoind.service [Service] -ExecStart=/usr/local/bin/dotnet \"/home/admin/NBXplorer/NBXplorer/bin/Release/netcoreapp2.1/NBXplorer.dll\" -c /home/admin/.nbxplorer/Main/settings.config -User=admin -Group=admin +ExecStart=/usr/local/bin/dotnet \"/home/btcpay/NBXplorer/NBXplorer/bin/Release/netcoreapp2.1/NBXplorer.dll\" -c /home/btcpay/.nbxplorer/Main/settings.config +User=btcpay +Group=btcpay Type=simple PIDFile=/run/nbxplorer/nbxplorer.pid Restart=on-failure @@ -127,7 +116,7 @@ sudo systemctl start nbxplorer echo "Checking for nbxplorer config" -while [ ! -f "/home/admin/.nbxplorer/Main/settings.config" ] +while [ ! -f "/home/btcpay/.nbxplorer/Main/settings.config" ] do echo "Waiting for nbxplorer to start - CTRL+C to abort" sleep 10 @@ -138,12 +127,17 @@ echo "***" echo "getting RPC credentials from the bitcoin.conf" RPC_USER=$(sudo cat /mnt/hdd/bitcoin/bitcoin.conf | grep rpcuser | cut -c 9-) PASSWORD_B=$(sudo cat /mnt/hdd/bitcoin/bitcoin.conf | grep rpcpassword | cut -c 13-) -chmod 600 /home/admin/.nbxplorer/Main/settings.config || exit 1 -cat >> /home/admin/.nbxplorer/Main/settings.config <> /home/admin/settings.config <