As some may know I run my home lab primarily on a beefy PowerEdge server running on VMWare’s free ESXi hypervisor. I also have some raspberry pi’s doing small tasks. Firstly why have a home lab at all?
- It’s great for learning new skills. A home lab provides an excellent opportunity to learn new skills and experiment with new technologies. You can try out new software, hardware, and configurations without worrying about breaking anything. This can help you stay up-to-date with the latest trends in the industry and improve your knowledge and expertise.
- Cost savings. No more expensive cloud hosting bills to pay. We just need to have a suitable server and pay for it’s power usage.
- Customisation. With a home lab, you have complete control over your environment. You can customize your hardware, software, and configurations to meet your specific needs. This can be especially useful if you have unique requirements that cannot be met by off-the-shelf solutions.
- Convenience. A home lab allows you to work on your projects from the comfort of your own home. You don’t have to worry about commuting to a data center or dealing with noisy server rooms. You can work on your projects whenever you want, without any restrictions.
- Security. A home lab can provide a secure environment for your applications and data. You can configure your firewall, VPN, and other security measures to protect your lab from external threats. This can be especially useful if you are working on sensitive projects or handling confidential data.
- It’s fun. As an engineer there’s nothing more fun than trying out new tech, getting it working and integrated with your personal environment.
Anyway, with that out of the way, the following are some of the main services I have on my home cyber lab.
ESXi is a type-1 hypervisor that allows you to run multiple virtual machines on a single physical machine. I have it running on a PowerEdge server. It is developed by VMware and is widely used in enterprise environments. ESXi is known for its stability, security, and performance. It is also free for personal use so is great for learning. I have a number of linux and windows servers deployed on my system (see here for my article on ESXi).
Synonymous with home labs, Docker is a platform that allows you to build, ship, and run applications in containers. Containers are lightweight, portable, and self-contained environments that can run anywhere. Docker is widely used in DevOps and cloud computing. It is open-source and has a large community of contributors. See docker.com for more.
Homer is a web-based dashboard that allows you to manage your self-hosted services. It provides a unified interface for all your services and makes it easy to access them from anywhere. Homer is built using modern web technologies and is highly customizable. It’s great to be able to update the dashboard using a simple YAML file. Get Homer on github here.
Wazuh is a security platform that provides threat detection, incident response, and compliance management. It is based on the open-source security project OSSEC and is widely used in enterprise environments. It can be integrated to various 3rd party services like threat intelligence database MISP, virustotal, maltiverse and more. You can consume logs from nearly anywhere – e.g. logs from your PFSense router. Get Wazuh here.
PiHole is a DNS sinkhole that blocks ads, trackers, and malware at the network level. It is designed to run on a Raspberry Pi but can also run on other devices. PiHole is open-source and has a large community of contributors. Ad blocking is exceptionally good. Get it here, Pi-hole – Network-wide Ad Blocking.
Ansible is an open-source automation tool that allows you to automate IT tasks. It is widely used in DevOps and cloud computing. Ansible is known for its simplicity, scalability, and flexibility. It uses a declarative language called YAML to define tasks and tuns over SSH, so it’s agentless. All configuration done via YAML – so it’s simple to use. It is also idempotent so you can keep running and debugging your scripts without damage. Ansible is one of the quickest ways to configure your VMs instead of manually configuring via SSH. Get Ansible here.
Ansible-Semaphore is a web-based GUI for Ansible. It allows you to manage your Ansible projects, inventories, and playbooks from a web interface. Unlike Ansible Tower, Ansible-Semaphore is open-source and has a large community of contributors. Get Ansible Semaphore here.
Jenkins is an open-source automation server that allows you to automate IT tasks. It is widely used in DevOps and cloud computing. Jenkins is known for its extensibility, flexibility, and ease of use. It uses a declarative language called Jenkinsfile to define tasks. Get Jenkins here.
Vagrant, by Hashicorp, is an open-source tool that allows you to create and configure lightweight, reproducible, and portable development environments. It is widely used in DevOps and cloud computing. Vagrant is known for its simplicity, flexibility, and ease of use. It uses a declarative language called Vagrantfile to define environments. I find Vagrant to be a useful timesaver. Get Vagrant here.
Portainer is a nice frontend for your docker. Portainer allows you to manage your Docker resources on your local machine or in Kubernetes clusters. It provides a web-based dashboard that helps you visualize your containers, images, volumes, and networks. Like most of the tools on this list Portainer is open-source and has a large community. More details on Portainer here.
I run a number of distros on ESXi. I’ve singled out Kali here as it is something quite special. A Debian-based distro targeted at penetration testing and security auditing. It’s open-source and contains the majority of tools that one could want for pen testing and auditing by default. My daily driver for pen tests. Get Kali linux here.
In a change from some of the other tools listed above this one is closed source. It’s pretty darned good though. Plex is a media player and library. Think of it as your own personal Netflix. Host your videos and music and play on a variety of devices from PCs to TVs. The Plex server supports Linux, Mac, Windows and a variety of NAS drives. I’ve ripped and host all of my Blu-Rays and DVDs on Plex. Just make sure you have plenty of disk space! You can get Plex here.