What is a Home Lab? – Getting started and Recommendations
Have you ever thought of setting up your very own home lab? An environment that is made to suit all your needs and would enable you to explore new things! Whether you’re just curious about a home lab or someone who’s keen to try building one, this article strives to show you the basic things you’ll need, so stick around to find out!
But of course, before we can get started, let’s learn about the background of a home lab, shall we?
Introduction to Home lab
What is a home lab?
A home lab is essentially a compounded system that connects all your devices. Thus, creating an environment for you to experiment and build new projects at the comfort of your home!
Why do you need a home lab?
A home lab is definitely not a necessity for normal people. But it’ll be perfect for IT enthusiasts who enjoy working and experimenting with new projects, web developers or even movie enthusiasts who require a ton of storage to store all their data and files. Thus, most of them would get NAS (we’ll talk about it later) that would provide them with a large amount of storage.
Now that we have a better idea of a home lab, let’s look at the 2 main categories to consider when building your very own home lab.
- Hardware
- Software
We will be talking about the hardware and software in detail afterwards, and we’ll be delving into the hardware aspect first:
Hardware
This really depends on what are your needs but in general, you’ll need your Virtualization servers (SBC/ Mini PCs) and NAS. Now let’s look at these hardware in detail to learn how they work!
Single Board Computers
Single Board Computers such as Raspberry Pi are small computing devices that have all of the elements of a complete computer contained within one single circuit board. It is a low cost, self-contained, simple that could be easily connected to other hardware. Thus, making it an affordable option to run Linux distributions on your projects!
We will be showing you our recommendation later that is perfect for your home lab, so do stick around to find out!
Mini PC
Mini PCs, also known as minicomputers or mid-range computers, are a variant of computers that possesses most of the features and capabilities of a large computer but is smaller in physical size. Alike to a computer, a mini PC has a central processing unit (CPU) and memory, which means a mini PC basically operates the same way as a computer does.
Network Attached Storage (NAS)
We have briefly mentioned about NAS earlier, but NAS is a type of storage network, that is basically a specialised file server. What’s great about NAS is that it has a ton of space and as long as you have an ethernet connection, you’ll be able to gain access! Moreover, you’ll be able to build your own DIY NAS using a mini PC such as our Odyssey X86J4105!
Also, in case you are interested in learning more about SBCs and Mini PCs in detail, do check out my other blogs on it:
- What is a Mini PC? – Things you should know before purchasing
- All about CPUs: Microprocessor, Microcontroller and Single Board Computer
Upgrading your hardware
You probably already own the hardware we’ve mentioned, but it’s also important for you to upgrade the parts when you feel they’re not quite enough to support your projects:
- CPU: The more cores and the better clock speed it has would greatly improve your system, do note that you should ensure your CPU runs virtualization feature if you’re looking to run virtual machines.
- Memory: It goes without saying the more RAM your system possesses, the better performance you’ll get with your system.
Hardware Recommendations
Our recommendations will mainly focus on 2 hardware products that are perfect for your home lab. First up, Seeed’s most powerful mini pc:
ODYSSEY – X86J4105 (Unactivated ver. 64GB eMMC) ($218)
Our ODYSSEY – X86J4105 is a tiny, portable yet powerful beast that is based on the Intel Celeron J4105, Quad-Core 1.5GHz CPU that bursts up to 2.5GHz! It also has all the features a mini PC has but at an affordable price point! Moreover, with Arduino Co-processor onboard, you’re able to connect it with a ton of our sensors and grove modules!
Features:
- Intel® Celeron® J4105, Quad-Core 1.5-2.5GHZ
- Intel® UHD Graphics 600
- Integrated Arduino Coprocessor ATSAMD21 ARM® Cortex®-M0+
- Dual-Band Frequency 2.5GHz/5GHz WiFi
- Dual Gigabit Ethernet
- Raspberry Pi 40-Pin Compatible
- Support Windows 10 & Linux OS
- 2 x M.2 PCIe (B Key and M Key)
- Compatible with Grove Ecosystem
Pros & Cons:
- Cost-effective
- Portable and packs a punch
- Well supported by Seeed
- Countless accessories to choose from
- Tons of applications: Great for NAS and IoT
- Doesn’t allow tinkers to hack into the board since the schematics are not provided
Processing Capability
Specification | – |
Processor | Intel® Celeron® J4105 (Frequency: 1.5 – 2.5GHz) |
Coprocessor | Microchip® ATSAMD21G18 32-Bit ARM® Cortex® M0+ |
Graphics | Intel® UHD Graphics 600 (Frequency: 250 – 750MHz) |
Memory | LPDDR4 8GB |
Wireless | Wi-Fi 802.11 a/b/g/n/ac @ 2.4/5 GHz HT160 |
Networking | Intel® I211AT PCIe Gigabit LAN, Supports Wake-On-LAN, Supports PXE |
Audio | Microphone + headphone Combo Connector |
Headers | 1 × 40-Pin header compatible with Raspberry Pi 1 × 28-Pin header (SAMD21G18) 1 × Front Panel Audio Connector 1 × 4-Pin herder (UART function from SAMD21G18) 1 × Fan Port (4 pin 1.25mm PWM 5V) 3 × 4-Pin SATA Power Connector 1 × 4-Pin herder (Power and Switch) |
USB | USB 2.0 Type-A x2, USB 3.1 Type-A x1, USB 3.1 Type-C x1 |
Video Interfaces | HDMI2.0a: Up to 4096×2160 @ 60Hz 24bpp / DP1.2a: Up to 4096×2160 @ 60Hz 24bpp |
Expansion Slots | M.2(Key B, 2242/2280): SATA III, USB2.0, UIM; M.2 (Key M, 2242/2280): PCIe 2.0 ×4; Micro SD card Socket; SIM Card Socket; SATA III |
If you’re interested in another version without 64 GB eMMC, click here. For the version with 64 GB + activated Win10, click here. You can also get the computer casing here!
Software
Now that we’re done with the hardware portion, we can proceed to talk about the software. There are actually a variety of software options for both your system and your NAS, we will also be touching on operating systems and network virtual devices as well.
Virtualization Software
Speaking of software, the virtualization software allows you to run on your virtualization machines. What it does is creating snapshots so you’re able to revert the system to a known state. There are also two categories of virtualization software: Desktop and Server. These are some of the examples:
To run virtualization software on your desktop:
- QEMU (open source)
- KVM (Kernel-based Virtual Machine)
- Virtual Box
- VMware Workstation Player (only runs one virtual machine)
The options above are all free, but if you’re willing to pay, here are a few more options: VM Workstation works for Windows and Linux, while VMware Fusion is for Mac OS.
To run virtualization software on your server:
- VMware ESXI (doesn’t support wireless devices)
- Proxmox
- Hyper-V (for Windows server)
- Xen
Containers
After you have an idea which virtualization hardware and software you’ve chosen, it’s also good to run containers if you need to run an application or program in an isolated environment.
You’ll also be able to run an operating system on bare metal and then you can manage your application. Here are some programs that would run containers:
- Kubernetes: https://kubernetes.io/
- Docker: https://www.docker.com/ (you can run Raspberry Pi on it)
- Vagrant: https://www.vagrantup.com/ (If you’re using VMware software, do note you’ll need to buy it)
NAS Software
The most popular NAS software would definitely be FreeNAS, it is an open-source NAS distribution that is based on the rock-solid FreeBSD operating system. Due to its easy-to-use web interface, FreeNAS is user-friendly as well. However, it is not as wide as Linux-based applications.
Firewall/ Router Software
Not forgetting the network devices that can help manage the network so you can virtualize with your home lab!
Router software:
- dd-wrt (more commonly used on hardware devices that supports it)
- GNS3 (Able to simulate the network you’re building)
Firewall software:
- ClearOS (only the community version is free)
- OPNSense (high-end graphical web interface)
Router and Firewall software:
- pfSense (open source, enterprise-grade FreeBSD-based router and firewall distribution)
We also do have a tutorial on how to install pfSense on ODYSSEY – X86J4105, so do check it out if you should need it here!
Though if you’re using Raspi, you can also check out Pi-Hole, where it’ll act as a DNS server on your private network.
Operating Systems
We talked briefly about Windows and Linux earlier, but do you actually know the different OSes and how to analyse them? With these OSes in your home lab, you’ll be able to explore many other OSes and learn how they actually work! We will be focusing on Windows, Apple Mac OS and Unix in this section.
Windows
The most commonly used operating system, though you’re still able to find old versions of Windows through Google or at archieve.org, these are the only systems you’re able to get through their official website:
- Windows 10 Enterprise (32 or 64 bit)
- Windows Server 2019 (32 or 64 bit)
Apple Mac OS
If you own a MacBook or any of Apple products, you would be familiar with Mac OS. It is not possible to use this system in non-Apple hardware, but you can use visualising software that supports it. Such as the VMware Fusion we mentioned earlier, that would allow you to practice on a VM.
Unix
The Linux system that is more commonly known nowadays, actually derived from UNIX as a continuation of the basis of UNIX design. Here’re some examples of Linux OS:
- Linux RPM-based (Fedora, Red Hat etc.)
- Linux Debian-based (Ubuntu, Debian etc.)
- Linux Slackware-based (SuSE, Slax etc.)
- Linux Arch-based (ArcoLinux, Manjaro etc.)
As you can see, there’s a huge variety of Linux OS and what’s great is that most of them are free and open-source! So you can take your time to experiment and learn about the different OSes.
Summary
And that’s all on how you can get started with your home lab! Did you learn something new? Hope that this article has got you excited about constructing your very own home lab! Do check out the resources below that would help you on your journey to building your perfect home lab!
Resources
Raspberry Pi Cluster:
- DIN-r plate Raspberry Pi Rack System
- Five years of Raspberry Pi clusters
- Building a Raspberry Pi cluster with MicroK8s
Containers:
- How to build a full Kubernetes cluster in your home lab using an automated, easy and fancy way!
- Guide to Installing an OKD 4.4 Cluster on your Home Lab
More on Home lab:
- Building a home lab: Sysadmin after dark
- Home Lab Beginners guide – Hardware
- Home Lab Deep Dive: Choosing & Buying Servers