BTCPay Server
Hostname: btcpay
216.126.231.214
Disk Space 128 GB
Bandwidth 6 TB
Memory 8 GB
Cores 3
NVME KVM
How to: (from this page)
Method 2: Personal Knowledge Base (Digital Notepad, Wiki, or Notion)
- Maintain a digital knowledge base where you record detailed notes on configurations, commands run, and decisions made. This method allows for rich content, categorization, and linking to relevant resources.
- Platforms like Notion, Google Docs, or Markdown-based wikis (e.g., Obsidian) are good for this type of documentation.
- Suggested Structure for Knowledge Base:
- Configuration Section: Document important configurations such as:
- Network setup (e.g., static IP vs. DHCP)
- Lightning node configurations (e.g., minimum fee rates, max inbound liquidity)
- Firewall settings and open ports
- Command Log: Include commonly used commands and any custom scripts.
- Optimization Tips: Keep notes on settings that improve performance or security (e.g., resource limits, rebalancing tips).
- Troubleshooting Section: Document solutions to any recurring issues.
- Configuration Section: Document important configurations such as:
Ongoing dev notes are on a sub-page.
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 troubleshootingTrying 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 Node
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.
Inbound Channel
We got an inbound channel of 5,000,000 sats from https://coincept.com/ for around 17 dollars. It lasted a few months until the service provider let us down and so now we are getting another for the new node. The incoming node is this one. Email: lsp@coincept.com
2025-01-25: Node is back up, get new channel set up
Regular Payments: LibrePatron
Like patreon but without the parasites. Maybe we can use it for regular sponsorships. More info on the blog page. Excerpt below:
“LibrePatron is a self-hosted Patreon competitor where creators are owners of the entire platform. The software is free and open-source for anyone to use. LibrePatron uses BTCPay Server (opens new window)to receive Bitcoin payments on a recurring basis.
“Deploy it, configure it to your needs, and receive donations from your supporters. It’s that simple. You can accept Bitcoin payments (Lightning Network or on-chain) combined with credit card payments via Square, which makes LibrePatron the only real censorship-resistant solution independent of any third parties.”
Though to use Stripe, we would probably have to run the banker money through an entity and attract all the government parasites and their endless tax bullshit.
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.