Deploying BTCPay Server on LunaNode

Our Toronto cloud servers are a perfect place to deploy BTCPay Server if you are looking for more control over your payment gateway than what's possible with a shared hosting solution.

We provide a web-based launcher that lets you get BTCPay up and running within five minutes. In addition to credit card and Paypal, we accept payments over BTC, Lightning, and various other cryptocurrencies.

Each cloud server is a Linux server (virtual machine) that you can login to and manage over SSH. You have full control over the software in your server, so you can enable plugins and make customizations to your liking. On the other hand, although not needed for initially deploying BTCPay, some familiarity with using the terminal is recommended.

Deploy your VM

  1. Sign up for a LunaNode account.
  2. Add funds to your account.
  3. Create an API key and note the API ID and key.
  4. Follow the steps on the web-based launcher to deploy your cloud server with BTCPay pre-installed.

After deployment, your BTCPay website will come online and be accessible within a few minutes. It will not be possible to accept payments until blockchains are fully synchronized, which can take several days.

If you get stuck, see the video by BitcoinShirt below or this article:


The price will depend on the server plan you select and the number of cryptocurrencies you enable.

You can choose any plan, but if the plan includes too little RAM for the enabled cryptocurrencies then your website may go offline. This is okay since you can always resize to a larger plan later (see FAQ), but our recommendations for getting started are:

  • m.2 (2 GB RAM, $7/month): for one small altcoin. m.2 is insufficient for Bitcoin or Monero.
  • m.4 (4 GB RAM, $14/month): for 1-3 non-Monero cryptocurrencies.
  • m.8 (8 GB RAM, $28/month): for 4+ cryptocurrencies or for Monero.

On top of the plan price, the launcher will create one 60 GB volume per cryptocurrency which costs $1.80/month/cryptocurrency. The launcher will display the total monthly price before deploying the VM.

Our services are prepaid and billed hourly, so if you decide to delete your server during the month then you will be charged proportionally.


Please open a support ticket if you encounter issues with your BTCPay deployment. Our services are unmanaged (we provide the server itself but don't provide support for software installed inside the server), but we are happy to help with basic problems. Also try the FAQ below, though, for fixing simple issues.

For more advanced BTCPay questions, like how to customize the template, it is best to ask the BTCPay community on the BTCPay Mattermost.

My website never came online

If you used your own domain name (not, double check that you have set up the DNS records correctly by going to, entering the domain name (like, and ensuring there is just one reported IP and that it matches the external IPv4 address of your server.

My website went offline

Restarting and updating BTCPay will often fix this issue. Login to your BTCPay and run:

$ sudo su -
$ cd /root/btcpayserver-docker/
$ ./
$ ./

Some users experience this issue because they installed a webserver in the server, which interferes with BTCPay. You can try uninstalling the webserver:

$ sudo apt remove nginx nginx-core nginx-common
$ sudo apt remove apache2 apache2-bin

My website keeps going down and back up

This is most commonly caused by your server running out of RAM. To confirm this, login to the web panel, select your server, and go to the Console Log tab. At the bottom, see if there are messages like "out of memory" and "Killed process"; if so, it means your server is running out of RAM.

In this case, you will need to resize your server to a bigger plan. Select your server, press Resize, and choose a bigger plan from the dropdown menu.

How do I login to my server?

First, you'll need an SSH client. On Windows, we recommend Windows OpenSSH (needs enabling from Settings -> Apps -> Optional Features) or PuTTY (needs download). OS X and Linux generally come with OpenSSH.

Then, select your VM from the web panel and note its external IPv4 address and the username/password displayed under Initial Login Details. We'll assume the IP is and the username is "ubuntu".

Now you can use the SSH client to login to your VM. With OpenSSH, open a terminal and run e.g.:

ssh ubuntu@