BTCPay Server

Hostname: btcpay
216.126.231.214
Disk Space 64 GB
Bandwidth 5 TB
Memory 4 GB
Cores 2

https://216.126.231.214/
https://btcpay.satoshihost.com/

https://hostodo.com/nvme-kvm – no need to install cockpit because the control panel is pretty good.

Installation Notes

  • Pruning is necessary on VPS unless we have a lot of storage
    eg: opt-save-storage-xs will keep around 3 months of blocks (prune BTC for 25 GB)
    -s is 50.
  • Also this may be an easier way of installing it: https://docs.btcpayserver.org/Configurator/
  • The most straightforward docker install instructions I have found are here.
  • Eventually I used mainly the instructions here because it sets up docker for you as well as btcpay server.
  • 503 temporary unavailable is because host is set to btcpay.satoshihost.com and not the ip address so:
    REVERSEPROXY_DEFAULT_HOST="$BTCPAY_HOST" && . btcpay-setup.sh -i
    (from deployment FAQ)

SSL

setup staging certificates for Let’s encrypt, and give access to SSH to BTCPay:

export ACME_CA_URI="https://acme-staging.api.letsencrypt.org/directory"
ssh-keygen -t rsa -f /root/.ssh/id_rsa_btcpay -q -P "" -m PEM
echo "# Key used by BTCPay Server" >> /root/.ssh/authorized_keys
cat /root/.ssh/id_rsa_btcpay.pub >> /root/.ssh/authorized_keys
export BTCPAY_HOST_SSHKEYFILE=/root/.ssh/id_rsa_btcpay

Then, export BTCPAY_HOST="btcpay.satoshihostcom"
Optionally, setup email notifications for certificate errors:
export LETSENCRYPT_EMAIL="btcpay@satoshihost.com"

Renew SSL cert

If your SSL certificate has expired for your BTCPay Server, you can manually renew it. For Docker deployments the easiest way to do this is to restart the container named letsencrypt-nginx-proxy-companion on your server.

Initial troubleshooting

Initial SSL problem and troubleshooting

Trying to install letsencrypt certs using these instructions but getting errors:

andy@vps:/root$ sudo certbot –nginx -d btcpay.satoshihost.com
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Requesting a certificate for btcpay.satoshihost.com
Encountered exception during recovery: certbot.errors.MisconfigurationError: nginx restart failed:
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Unknown error)
nginx: [emerg] bind() to [::]:80 failed (98: Unknown error)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Unknown error)
nginx: [emerg] bind() to [::]:80 failed (98: Unknown error)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Unknown error)
nginx: [emerg] bind() to [::]:80 failed (98: Unknown error)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Unknown error)
nginx: [emerg] bind() to [::]:80 failed (98: Unknown error)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Unknown error)
nginx: [emerg] bind() to [::]:80 failed (98: Unknown error)
nginx: [emerg] still could not bind()
nginx restart failed:
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Unknown error)
nginx: [emerg] bind() to [::]:80 failed (98: Unknown error)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Unknown error)
nginx: [emerg] bind() to [::]:80 failed (98: Unknown error)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Unknown error)
nginx: [emerg] bind() to [::]:80 failed (98: Unknown error)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Unknown error)
nginx: [emerg] bind() to [::]:80 failed (98: Unknown error)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Unknown error)
nginx: [emerg] bind() to [::]:80 failed (98: Unknown error)
nginx: [emerg] still could not bind()

Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.

So to see if nginx is listening and then stop it and then see if it is still listening:

sudo netstat -pant | grep -Ei ':80|listen' 
sudo systemctl stop nginx
sudo netstat -pant | grep -Ei ':80|listen'

If it is then restart it and see if it works then. More commands here incl start and stop nginx.

Lightning

blink.sv Could be used for lightning – it’s a custodial wallet so maybe not ideal but it could solve a lot of problems such as channel management. But it is currently mobile only so that’s no good.

I asked in their telegram group:
You can connect your blink to alby and make payments on desktop with it.
ok will try that – thanks
will that mean double fees though?
I mean 2 lots of fees? alby and blink
No, same fees. Only regular blink fees.

Speed Test


Below Is Redundant


dreamlabnetwork.solutions suddenly decided to close all btcpay server VPSs so I got one from vpsag.com for 7 per month but it turned out to not have enough disk space.I asked for more but they said no I have to go to next plan which is 12 euro a month. So I got one with more disk space and otherwise the same for 6 euro from hostotdo.com – fingers crossed. Keeping vpsag though because they have a good reseller program.

Hosting our BTCPay service.

Hostname: btcpay.satoshihost.com
but seems to be pay440168 really…
144.217.204.233
Disk Space 100 GB
Memory 2GB

A VPS from dreamlabnetwork.solutions to host our BTCPay instance. Provides the payment system for satoshihost.com and for any fundraisers related to Click For Charity and Direct Sponsor.

General stuff about our use of BTCPay Server is on another page.