# Deploying BTCPay - LunaNode Web-Wizard

This article explains the deployment of BTCPay Server through LunaNode Web-Wizard. LunaNode (opens new window) is Canadian based hosting provider that accept Bitcoin payments and requires no personal identification except for a phone number verification.

Their web-wizard is one of the easiest ways to deploy BTCPay Servers from a very user-friendly interface. This method is highly recommended if you don't have a lot of technical knowledge. LunaNode will provide you with a generic domain for your server to get you started. If you want to set up a custom domain you will need to have some comfort with the command line interface.

For the price of around US$8.80 per month, you can have a self-hosted BTCpay, which includes a Bitcoin full node and Lightning Network node.

The video below explains all the step and customization of BTCPay.

The installation is also covered in this article (opens new window)

The third video covers setting BTCPay up on LunaNode, but also goes in-depth on setting up wallets, store and apps.

# 1. Create the account and add credits

Register to LunaNode and add credits to your account. The process is quite straight-Forward. If by any chance you get stuck, see this article (opens new window). Wait for the invoice confirmation.

# 2. Create the API Key

Once your account has been verified, and credits added, go to the API section and create a new API. Do not close that page and proceed to step 3.

# 3. Web-Wizard Deployment

  1. Go to launchbtcpay.lunanode.com (opens new window)
  2. Paste the API Key and API ID created in step 2. and continue.
  3. Use your own domain or automatically-generated one by LunaNode.
  4. Customize the web-wizard settings according to your needs.
  5. Click Launch VM. Wait 6-7 minutes for Virtual Machine deployment.

If you've used a custom domain,

  1. SSH into the VM using either the password generated by LunaNode or your private-public key pair.
  2. Run the following commands.
$ sudo su -
$ export BTCPAY_HOST=your.cool.domain
$ export BTCPAY_PROTOCOL=https
$ export REVERSEPROXY_DEFAULT_HOST="$BTCPAY_HOST"
$ cd btcpayserver-docker
$ . btcpay-setup.sh -i
$ . btcpay-restart.sh -i
  1. Visit the domain, create an account and log in.

Now you need to wait for blockchain to sync fully. Depending on the plan you used and the number of coins you added, that can take 1-7 days. If you enable CPU utilization, with Bitcoin and LND, it will take 1-2 days. There is a US$ 3 one-time charge for faster sync if you enable the CPU utilization. The sync pop-up window will disappear when your node fully syncs.

# 4. Additional customization (optional)

Once your BTCPay Server instance is setup, as with any deployment method, you can add environment variables such as activating keysend and autopilot for LND as well as get access to your own transmuter. For more information, visit the available environment variable list. This requires knowledge of how to SSH into your server.