Preparing a Cluster Host
Photo by Gabriel Vasiliu / Unsplash

Ok, so you have your firewall and switch installed and configured! Great! You can start adding cluster hosts to your network. First thing to do is review the cluster host hardware recommendations page. Remember, Sovereign Stack is more than just a home node package, so get hardware with heft.

Begin by connecting your new cluster host to the appropriate ACCESS port assigned to the SERVERS VLAN. It also helps have the power adapter plugged into an UPS for reliability.

Download/Install Ubuntu Server 22.04

First, download Ubuntu Server 22.04, install it on a bootable USB device. The Ubuntu website has excellent instructions. Use them. You may have to modify the boot priority of your cluster host to boot into the installation.

Once you're at the installer interface, choose English for the language and be sure to update the updater if possible. Select your keyboard layout and continue by installing Ubuntu Server (minimized).

When you get to the Network connections menu in the installer, you MAY need to perform some additional steps in your DHCP and DNS servers (e.g., PFSense). If your network connection(s) aren't getting the correct IP assignments, you may need to check the firewall to ensure the DHCP reservation is correctly specified. Conveniently, the Ubuntu installer displays your network adapter's various MAC addresses so it's easy to create your DHCP reservations.

💡
It's best that you buy hardware that DOES NOT have Wifi hardware on it. It simply adds expense and attack surface to your application. You CANNOT use any wireless network adapter Sovereign Stack. This is because Sovereign Stack relies on Macvlan to expose services to your network, and WLAN interfaces do NOT support Macvlan! Not only that, when you're hosting a website, you want some thing fast and reliable, and wifi is not that.

During the installation, you may be asked to configure proxy or mirror servers. Just leave that at default. Future Sovereign Stack configurations may use these configuration options, however.

Disks / Formatting

How you format all depends how many SSD/nVMEs you have on your system.

If your have TWO independent SSDs in your system, dedicate the entire second SSD to Sovereign Stack.

If you have just one SSD, you carve it up into two partitions. Typically this means you have your / and boot partitions residing on around ~50 GB of disk space, and the remainder of the disk is an UNFORMATTED partition dedicated to Sovereign Stack.

💡
That partition gets formatted when you take the cluster host under management of Sovereign Stack.

So, in the Ubuntu installer, choose Custom storage layout and complete the following steps:

  1. Remove all existing partitions and start with a unallocated disks. Do this by running the "Reformat" option on each disk.
  2. Then, under the free space option, select Add a GPT Partition.
  3. The first partition is for boot and / data. So the first partition size should be at least 50 GB and formatted as ext4 with a mountpoint of /. Note, this step will also create a ~1 GB fat32 partition for the bootloader partition.
  4. Create a new, unformatted partition on the remaining space by select free space-->Add GPT Partition. The Size should be set to the max value shown. Remember to leave the partition UNFORMATTED. When executed, Sovereign Stack scripts lay down a ZFS file system on the disk/partition specified by the administrator.

Completing the Installation

Complete the installer by entering ubuntu for the username. Also give the cluster host its name. This should the server name that was specified in your DNS settings for the cluster host.

Set complex one-time password for the ubuntu user and store it in your password manager.

Also, be sure to install OpenSSH server as your last step.

DHCP Reservations

Recommended convention. share host MAC prefix. SERVERS VLAN DHCP Pool is explicit authorization only.

DNS

You should create a static record in DNS for the bare-metal host. something like clusterhost1.domain.tld.

💡
You can specify a DHCP Reservation in your PFSense firewall by accessing the firewall admin interface and logging in, then visiting Services -> DHCP Server.

After you're sure the host has an IP address from the network, continue with the installer. Leave the proxy address and the alternative mirror for Ubuntu at default values.

Conclusion

Cool, your management machine can easily ssh into your new bare-metal host! The system is configured to start automatically since it does NOT require a full-disk-encryption password. The system is formatted with native ZFS on a fast SSD. You're well on your way to hosting websites for your internal network or for the broader Internet!

You're almost ready to move on the the Sovereign Stack code base! Sweet!


Want to support Sovereign Stack development? Consider donating to our monthly crowdfund.