Install Ubuntu Server – Upgrade your Bitcoin Node

This is a text companion guide to Ketan’s instructions for installing Ubuntu server. Ubuntu server is the OS we will be using to build our bitcoin node stack that I mentioned in my previous post upgrading your bitcoin node.

You may not need text based help. If that’s the case, here is Ketan’s video:

Ubuntu server prep

Installation

  • We are going to work with this node “headless,” meaning we will not need a monitor or keyboard, but first we need a keyboard and monitor attached to the machine in order to install Ubuntu.
  • Figure out how your machine goes to BIOS (sometimes F2, sometimes F12, etc.) The startup screen will tell you what to do in order to login to the BIOS.
  • Boot list options in BIOS – should be “Legacy” (may need to disable “secure boot”)
  • Change the boot order. Should be USB first, then SSD.
  • If needed for your computer, choose Advanced boot options in BIOS
  • Power management – change AC Recovery to “Power on” so that the node restarts when it has power loss. Throughout the install guide will we setup all apps to start up from boot so that if you have an interruption of power to the node it should reboot and start up all apps automatically.
  • Insert the USB stick with Ubuntu server and fire up the machine
  • Select language, keyboard layout, Choose “Ubuntu Server”
  • Write down the IP address that the install process shows you, usually something like 192.168.**.*** You will need this to SSH into the machine.
  • No proxy address needed
  • Use default mirror address
  • Choose your preference for where to install Ubuntu server. Be careful you aren’t erasing information you need with “Use entire disk”
  • No need to set up as LVM group, space bar will de-select
  • Confirm your selections
  • Enter your info here. Might be good to use a unique username and password.
  • Username must be lower case
  • Be sure you select “Install OpenSSH” with your spacebar
  • No need to select any of the featured snaps, move the cursor down to “done”
  • Will take a few minutes to setup
  • Confirm the reboot selection
  • Remove the installation USB stick when prompted and press “enter”
  • Login using the username and your password
  • You shouldn’t need the monitor or keyboard on your nodebox from here on out
  • Open up a command line on the computer you usually work with
    • In windows open a command prompt. Search CMD and hit enter.
    • On Linux/Mac open a terminal
  • From the command line type [SSH username@IPaddress] ex. [ssh satoshi@192.168.**.***]
  • At your first login your terminal may ask you to confirm the new connection, type “yes”
  • Enter the password you selected when prompted

You should be logged in

This video does an excellent job of explaining how to navigate your new Ubuntu server installation.

A Companion to Ketan’s Nodebox Guide – Upgrade your Bitcoin Node

Ketan from Ministry of Nodes has created a guide on youtube to help others setup their own Bitcoin node running BTCPay Server and Lightning on a desktop PC and it was exactly a setup I had been interested in myself. I realize this is very niche subject matter but I did the work of documenting this project and thought that others might benefit from the documentation.

I plan on breaking this up into multiple parts in order to mirror Ketan’s youtube videos. There are places throughout his series where it would be helpful if you have a link or a quick copy and paste in order to be able to keep up with his instructions.

Who this isn’t for; most will do fine running a node with a single board computer, like a Raspberry Pi. If all you are doing is confirming your own transactions, occasionally spending with lightning, coinjoining, etc., then I don’t think you need an upgrade to your bitcoin node setup. The beauty of Bitcoin is that anybody can run their own node in order to verify their Bitcoin is real and not trust anyone else with their financial information, and for most a single board computer should work just fine for that.

If however you are looking to run a Lightning routing node where you expect to have a lot of traffic running through it, or if you are looking to run a public facing instance of BTCPay server, I think you should consider upgrading to a computer that is capable of handling the traffic in a more dependable way. I am differentiating here between a “Lightning Node” and a “Lightning Routing Node” on purpose. If you just plan on opening channels in order to spend, and are not so much concerned for earning routing fees and being a central point of the lightning network, then there is no reason to upgrade your node in my opinion.

I can confirm that, after going through Ketan’s guides a few times, and running this stack on a few different computers, it is very dependable and less buggy then when I have tried to run a public facing BTCPay Server on a raspberry pi. Admittedly, I have not run any of those computers where there is a lot of lightning traffic. I have not had the time with the machines to allow for that yet AND my main use case for this setup is for hosting a public facing BTCPay Server in a self-sovereign way. As always it is important to do your own research.

In Ketan’s guide he starts by recommending a dell optiplex 9020 micro for this project. At the top of this post, the picture of a PC next to a Raspiblitz is of a Dell 3060 micro, which has the same form factor as the 9020 micro. You can see it is a small machine, not much bigger than my Raspiblitz, but the difference in capability and dependability is big. Using these instructions, instead of Ketan’s, you will be able to get the 3060 micro to boot to ubuntu server without a windows installation on the computer. The video describes installing ubuntu, not ubuntu server, but just swap in the ubuntu server .iso instead and follow the rest of those instructions if you want to go with a newer machine than the 9020 micro. Of course you can use pretty much any AMD64 computer as long as it is a capable enough machine.

Here is an affiliate link to Amazon selling a Dell 9020. Really any Dell micro model that has an m.2 slot will work, just be aware of processer efficiency if that is something that is important to you.

Here is an affiliate link to a 1TB Samsung SSD. Keep an eye on your M.2 slot and which variety you need for your application.

A few points to keep in mind:

  • If you are going to get one of the 9020 micros, keep in mind that they are not new machines, so get one that has some sort of warranty. There are plenty of other generations of Dell Micro computers, and also HP and IBM make similar sized computers. Here is my argument for why I like recommending Dell computers.
  • If you can get it without an SSD, that is preferable since it is best to put a Samsung M.2 SSD into it.
  • Get one that has a single stick of 8gb RAM, not two sticks of 4gb so that you can upgrade to 16gb of RAM if you want to. Or if you don’t plan on ever upgrading RAM, go with the two 4gb.
  • Be aware that the Dell 9020 also refers to bigger machines which may not have an M.2 ssd slot, which is a critical part to the dependability of this setup. I like to recommend the micro size PCs because of their really small footprint and how easy they are to maintain.
  • If you don’t care about using a bigger machine for this, then it doesn’t really matter what kind you use. You could scale this up to a much larger, higher performing machine if you intend to use in a more industrial-like way.

Here is a peak at the inside of the micro form factor: