Home Lab¶
My home lab is used to maintain and improve my skill set in information technology. Virtualization uses a Proxmox server cluster providing the necessary virtual machines for hosts used in the lab environment. Hosts is a mixture of Windows and Ubuntu operating systems, heavily leaning on Ubuntu. Some applications are deployed using Docker containerization. Provisioning of virtual machines and deployment of applications are automated using Ansible.
To simplify networking, the existing home network will be used instead of creating a separate VLAN for my home lab.
Virtualization¶
Virtual machines are hosted in the Proxmox Virtual Environment. Linux virtual machines are standardized to use Ubuntu 24.04. Provisioning of these virtual machines are automated using Ansible to deploy Ubuntu 24.04 using a cloud-init template.
Domain Controller¶
A standalone Domain Controller provides Microsoft Active Directory authentication to hosts that are connected to the refol.us domain.
Storage¶
A mix of local SSD storage, Linstor clustered storage, iSCSI drive hosted in a Synology NAS, and Samba and NFS shares hosted in a TrueNAS server are used.
Backup¶
Virtual machines are backed up using Proxmox Backup Server.
Active Directory¶
The Microsoft Active Directory server is hosted in a virtual machine running Windows 2022.
DNS¶
Domain Named Services (DNS) is provided using Pi-Hole DNS. There are two active Pi-hole servers that are hosted in virtual machines in Proxmox.
Ansible¶
Ansible is used to automate most of the virtual machine provisioning and deployment of its associated applications. Playbooks are typically executed from the command-line. However, Semaphore provides a convenient way to run playbooks from a web frontend.
Jenkins¶
Jenkins will be used as the primary CI/CD frontend.
Reverse Proxy¶
An Nginx cluster provides a reverse-proxy for access to web-hosted applications.
Certificates¶
Lets Encrypt Certificates are generated using certbot.