Building the first Kubercraft


Kubercraft logo

The Kubercraft was engineered to be a portable private cloud server for digital nomads and remote workers with privacy and security in mind. It’s fast and reliable enough to be considered an enterprise-class server, and easy enough for less technical users to level up on their journey to digital sovereignty.

While it was designed for rugged travel, it works great for anyone while it’s just sitting there powered on and connected to your local network.

For fault tolerance, it contains two sets of mirrored drives, using 2TB NVMe M.2 SSDs under ZFS for applications, and 8TB 2.5” SSDs under Ceph for data storage. Furthermore, it includes an 8-core, multithreaded AMD Ryzen 7 CPU with integrated graphics, and 64GB of DDR4 RAM.

We put a 32GB USB drive in the back of the server (not pictured) to store the decryption keys for the encrypted file systems inside another ZFS volume. With ZFSBootMenu, we mount the USB drive and automatically decrypt the file systems for non-interactive booting.

You should remove the USB drive during travel and keep it on your person like any other key to a safe. Without the USB drive in the system, it will present a password prompt at boot time to decrypt the file systems, or else not boot. It’s important to store that passphrase in a password manager outside the system in case you need to make a new USB drive.

On the software side, we’re using Void Linux as a small footprint, rolling release operating system. It has LXD for container management outside of Kubernetes, and K3s as a lightweight Kubernetes distribution. Our flagship open source project, Bythos, runs on top of K3s, in this case, and provides a web portal to manage the platform and access all of your deployed applications.

We can proxy to the LXD containers from the Kubernetes service and ingress controllers to take advantage of the wildcard TLS certificate for your network domain, managed by cert-manager. Those proxies will also utilize the same load balancer IP address, DNS automation, and security policies configured in Kubernetes, among other things.

In the Kubercraft, we’re using a secondary installation of K3s in an LXD container as a sandbox environment, for testing, to protect the main Bythos installation at the OS level as a production environment. We’re also running an LXD container for the Git repo used by Flux, the GitOps tool behind Bythos, to provide a completely self-hosted solution.

Below you can find the dated cost to build this server and pictures of the assembly process. Since both K3s and Ceph are cluster-capable, you can add more servers with various resources to create a cluster and have a single user interface to manage the whole thing, BythosCP.

Kubercraft v1 parts in boxes
Kubercraft v1 parts
QtyNamePriceTotal
1ASRock DeskMini X300W Barebone Mini Computer$165.99$165.99
1Noctua NH-L9a AM4, Premium Low-Profile CPU Cooler$44.95$44.95
1AMD Ryzen 7 5700G 8-Core, 16-Thread CPU with Radeon Graphics$169.29$169.29
1G.SKILL Ripjaws 64GB (2 x 32GB) SO-DIMM DDR4 3200 (PC4 25600)$107.99$107.99
2Samsung 970 EVO Plus SSD 2TB NVMe M.2$114.99$229.98
2Samsung 870 QVO SATA III SSD 8TB 2.5”$420.35$840.70
1Lexar 32GB USB Drive with Keychain Hole (LJDV40-32GABGY)$5.49$5.49

Total  (before taxes as of June 2023)

$1,564.39

This hardware should last most people well beyond 5 years, but to that point, if you’re spending more than $30/month in cloud subscriptions, you could be saving a lot of money by self-hosting. We provide free, open source software alternatives in many categories in the CosmicForge Marketplace.

Please note, at this time the CosmicForge website is a mockup design to gain interest in the projects, and neither that nor Bythos are developed enough for public use.

CPU and RAM installed
CPU and RAM
2.5" SSDs installed underside mainboard tray
2.5” SSDs
CPU fan, WiFi module, and NVMe M.2 (1) installed
CPU fan, WiFi module, and NVMe M.2 (1)
NVMe M.2 (2) installed under mainboard
NVMe M.2 (2)
Fully assembled Kubercraft v1
Fully assembled Kubercraft v1, ready for launch