Go back

Setup and installation of 'BTCPay Server: Bitcoin Payments Made Easy' on Azure

This section describes how to launch and connect to ‘BTCPay Server: Bitcoin Payments Made Easy’ VM solution on Azure.

Note: The VM requires a DNS name to configure BTCPay Server. Please use a static IP when deploying the instance. If you have a DNS name, create an A record pointing to the VM’s IP. Make sure to use a static IP, as a dynamic IP will change after a VM reboot. If you don’t have a DNS name, you can create one in the Azure Console for your running instance. The steps are covered in the below guide.

  1. Open BTCPay Server: Bitcoin Payments Made Easy VM listing on Azure Marketplace.

/img/azure/btcpay-server-with-bitcoin-fullnode/marketplace.png

  1. Click on Get It Now
  • Login with your credentials, provide the details here. Once done click on Continue. /img/azure/btcpay-server-with-bitcoin-fullnode/continue.png

  • It will take you to the Product details page. Click on Create. /img/azure/btcpay-server-with-bitcoin-fullnode/create.png

  • Select a Resource group for your virtual machine

  • Select a Region where you want to launch the VM(such as East US)

/img/azure/btcpay-server-with-bitcoin-fullnode/basics-page-01.png

  • Note: If you see “This image is not compatible with selected security type. To keep trusted launch virtual machines, select a compatible image. Otherwise change your security type back to Standard” error message below the Image name as shown in the screenshot below then please change the Security type to Standard.

/img/azure/btcpay-server-with-bitcoin-fullnode/image-mismatch-error.png

/img/azure/btcpay-server-with-bitcoin-fullnode/standard-security-type.png

  • Optionally change the number of cores and amount of memory. For faster syncing of Bitcoin Ledger select atleast 2vCPUs/8GB RAM configuration.

Select the Authentication type as Password and enter Username as ubuntu and Password of your choice. /img/azure/btcpay-server-with-bitcoin-fullnode/basics-page-02.png

  • Optionally change the OS disk size and its type. The VM comes with 1TB of Data Disk attached to it. You can check it in the Data Disk section here.

/img/azure/btcpay-server-with-bitcoin-fullnode/disk.png

  • Next on Networking page, to configure Static IP address, click on Create New link at the bottom of Public IP dropdown as shown below. It will open a ‘Create Public IP address’ side menu.

/img/azure/btcpay-server-with-bitcoin-fullnode/create-static-ip.png

  • On this page select SKU as Standard and Assign Static IP. Click on OK to save the changes.

/img/azure/btcpay-server-with-bitcoin-fullnode/create-static-ip-02.png

  • Optionally change the network and subnetwork names. Be sure that whichever network you specify has ports 22 (for ssh), 3389 (for RDP), 80 (for HTTP) and 443 (for HTTPS) exposed.

The VM comes with the preconfigured NSG rules. You can check them by clicking on Create New option available under the security group option.

/img/azure/btcpay-server-with-bitcoin-fullnode/network.png

/img/azure/btcpay-server-with-bitcoin-fullnode/ports.png

  • Optionally go to the Management, Advanced and Tags tabs for any advance settings you want for the VM.
  • Click on Review + create and then click on Create when you are done.
    Virtual Machine will begin deploying.
  1. A summary page displays when the virtual machine is successfully created. Click on Go to resource link to go to the resource page. It will open an overview page of virtual machine.

/img/azure/btcpay-server-with-bitcoin-fullnode/vm-overview.png

  1. If you want to update your password then open up the left navigation pane, select Run command, select RunShellScript and enter following command to change the password of the vm .
sudo echo ubuntu:yourpassword | chpasswd

/img/azure/run_command_option-01.png

/img/azure/run_command_change_passwd-01.png

Now the password for ubuntu user is set, you can SSH to the VM. To do so, first note the public IP address of the VM from VM details page as highlighted below

/img/azure/btcpay-server-with-bitcoin-fullnode/public-ip.png

Open putty, paste the IP address and click on Open.

/img/azure/desktop-linux-ubuntu2404/putty-01.png

login as ubuntu and provide the password for ‘ubuntu’ user.

/img/azure/btcpay-server-with-bitcoin-fullnode/ssh-login.png

  1. You can also connect to the VM’s desktop environment from any local windows machine using RDP protocol or local linux machine using Remmina.

  2. To connect using RDP via Windows Machine, first note the public IP address of the VM from VM details page as highlighted below

/img/azure/btcpay-server-with-bitcoin-fullnode/public-ip.png

  1. Then From your local windows machine, goto “start” menu, in the search box type and select “Remote desktop connection”.
    In the “Remote Desktop connection” wizard, copy the public IP address and click connect

/img/azure/desktop-linux/rdp.png

  1. This will connect you to the VM’s desktop environment. Provide the username (e.g “ubuntu”) and the password set in the step4 to authenticate. Click OK

/img/azure/desktop-linux/rdp-login.png

  1. Now you are connected to the out of box BTCPay Server: Bitcoin Payments Made Easy VM’s desktop environment via Windows Machine.

/img/aws/btcpay-server-with-bitcoin-fullnode/rdp-desktop.png

  1. To connect using RDP via Linux machine, first note the external IP of the VM from VM details page, then from your local Linux machine, goto menu, in the search box type and select “Remmina”.

Note: If you don’t have Remmina installed on your Linux machine, first Install Remmina as per your linux distribution.

/img/gcp/common/remmina-search.png

  1. In the “Remmina Remote Desktop Client” wizard, select the RDP option from dropdown and paste the external ip and click enter.

/img/gcp/common/remmina-external-ip.png

  1. This will connect you to the VM’s desktop environment. Provide “ubuntu” as the userid and the password set in above reset password step to authenticate. Click OK

/img/gcp/common/remmina-rdp-login.png

  1. Now you are connected to out of box BTCPay Server: Bitcoin Payments Made Easy VM’s desktop environment via Linux machine.

/img/aws/btcpay-server-with-bitcoin-fullnode/rdp-desktop.png

  1. To configure the BTCPay Server on this VM, we need a DNS Name. If you have a DNS name then create an A record pointing to the VM’s Public IP. If you don’t have a DNS Name then you can configure one on Azure Console. On your VM’s details page, click on Not Configred link below the DNS Name.

/img/azure/btcpay-server-with-bitcoin-fullnode/not-configured.png

  1. This will open a new page. Provide a DNS lable of your choice and save the changes. Refresh your VM overview page and you should see a new DNS label under DNS Name. We will need this DNS in our next step.

/img/azure/btcpay-server-with-bitcoin-fullnode/create-dns.png

/img/azure/btcpay-server-with-bitcoin-fullnode/new-dns-name.png

  1. Connect via SSH terminal using public IP of the VM with ubuntu user and its password as explained in above steps. Switch to root user using -
sudo su -

/img/azure/btcpay-server-with-bitcoin-fullnode/switch-to-root-user.png

  1. Run the btcpay-server-setup.sh script using below command. This scrip will ask you for the DNS Name. Copy the DNS Name from the Azure console and paste it when prompted.
./btcpay-server-setup.sh

/img/azure/btcpay-server-with-bitcoin-fullnode/run-btc-script.png

  1. This will start configuring the BTCPay Server. Wait for 5-7 minutes to finish. Once the setup is done the VM will reboot and the SSH connection will lost.

/img/azure/btcpay-server-with-bitcoin-fullnode/script-completed.png

  1. Wait for few minutes to restart the VM. connect via SSH terminal again and check if all the container are up and running using -
sudo docker ps -a

/img/azure/btcpay-server-with-bitcoin-fullnode/container-status.png

  1. If all the containers are up and running then you are good to access BTCPay Server Web Interface. To do so, Copy the DNS Name of the VM and paste it in your favorite browser. For the first time, it will ask you to create admin account. Provide the onscreen details and create your first admin account.

/img/azure/btcpay-server-with-bitcoin-fullnode/access-btc-pay-with-dns.png

  1. On next page, it will ask you to create a store. Provide the details here for your first store and save the changes.

/img/azure/btcpay-server-with-bitcoin-fullnode/create-first-store.png

  1. Now you are in the BTCPay Server Dashboard Page. In the right Pane , you can see the Bitcoin Full Node Syncing Status. As the VM comes with Full Node synced till the VM publication date, the ledger is nearly 99% synced and it will take few minutes to finish the remaining syncing. Once the sync is completed, this popup will disappear.

/img/azure/btcpay-server-with-bitcoin-fullnode/btcpay-dashboard.png

For more details, please visit Official Documentation page

For video tutorials on this solution, please visit Free course on ‘BTCPay Server: Bitcoin Payments Made Easy’

Go back