# 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$15.80 per month, you can have a self-hosted BTCPay Server, which includes a Bitcoin full node and Lightning Network node.
The video from BTC Sessions below explains all the steps on deploying and setting up BTCPay Server as well how to setup the Lightning Network in different ways.
Alternatively, a short summary of just the deployment steps is also covered in this article (opens new window)
# 1. Create the account and add credits
Register to LunaNode and add credits to your account. Note that you need to 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
- Go to launchbtcpay.lunanode.com (opens new window)
- Paste the API Key and API ID created in step 2. and continue.
- Use your own domain or automatically-generated one by LunaNode.
- Customize the web-wizard settings according to your needs.
- Click Launch VM. Wait 6-7 minutes for Virtual Machine deployment.
If you've used a custom domain,
- SSH into the VM using either the password generated by LunaNode or your private-public key pair.
- 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
- 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.