# Minimal manual setup
DANGER
# Not recommended for production use
Manual installation is NOT recommended for production use unless you are very confident with your Operating System and Bitcoin security expertise. If you are unsure use the docker deployment or one of the other deployment options.
# You must have technical literacy and be able to resolve any issues on your own. The community will not provide extensive support for this deployment.
The process is basically the following:
- Download and sync Bitcoin Core (opens new window)
- Clone and run NBXplorer (opens new window)
- Clone and run BTCPay Server (opens new window)
Take a look at our video to learn more:
# Warning: Not recommended to use in production
Manual installation is NOT recommended in production. It should be only used for learning purpose.
Instead you should use the docker deployment (opens new window).
The docker deployment will provide you easy update system and make sure that all moving parts are wired correctly without any technical knowledge. It will also setup HTTPS for you.
# Typical manual installation
This steps have been done on Ubuntu 18.04, adapt for your own install.
For Testnet specific deployment, after installing Bitcoin, .NET Core, NBXplorer and BTCPayServer, see Commands for Running in Testnet Mode
# 1) Install Bitcoin Core 0.19.1
BITCOIN_VERSION="0.19.1"
BITCOIN_URL="https://bitcoin.org/bin/bitcoin-core-0.19.1/bitcoin-0.19.1-x86_64-linux-gnu.tar.gz"
BITCOIN_SHA256="5fcac9416e486d4960e1a946145566350ca670f9aaba99de6542080851122e4c"
# install bitcoin binaries
cd /tmp
wget -O bitcoin.tar.gz "$BITCOIN_URL"
echo "$BITCOIN_SHA256 bitcoin.tar.gz" | sha256sum -c - && \
mkdir bin && \
sudo tar -xzvf bitcoin.tar.gz -C /usr/local/bin --strip-components=2 "bitcoin-$BITCOIN_VERSION/bin/bitcoin-cli" "bitcoin-$BITCOIN_VERSION/bin/bitcoind"
rm bitcoin.tar.gz
# 2) Install .NET 8.0 SDK
On my Ubuntu 20.04 (See these instructions (opens new window) or here (opens new window) for different OS).
# Add Microsoft package repository
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
# Install the SDK
sudo apt-get update
sudo apt-get install -y apt-transport-https
sudo apt-get update
sudo apt-get install -y dotnet-sdk-6.0
## Check
dotnet --version
# 3) Install NBXplorer
cd ~
git clone https://github.com/dgarage/NBXplorer
cd NBXplorer
git checkout latest
./build.sh
# 4) Install BTCPayServer
cd ~
git clone https://github.com/btcpayserver/btcpayserver
cd btcpayserver
git checkout latest
./build.sh
# 5) Run bitcoind
bitcoind
# 6) Run NBXplorer
cd ~/NBXplorer
./run.sh --dbtrie
Note that using the --dbtrie
backend for NBXplorer, while easier, is deprecated.
You should better use a postgresql backend as documented on Extended Manual Deployment.
# 7) Run BTCPay Server
cd ~/btcpayserver
./run.sh --port 8080 --bind 0.0.0.0
Now you can browse your server on port 8080.
Note that by default, BTCPay Server will use SQLite as backend, while being easier, this is deprecated. You should better use a postgresql backend as documented on Extended Manual Deployment.
# Testnet Specific Deployments
Follow the instructions for installing Bitcoin, .NET Core, NBXplorer and BTCPayServer above.
Then when running them use:
# Run bitcoind in testnet mode
bitcoind -testnet
# Run NBXplorer in testnet mode
cd ~/NBXplorer
./run.sh --network=testnet
# Run BTCPayServer in testnet mode
cd ~/btcpayserver
./run.sh --port 8080 --bind 0.0.0.0 --network testnet