Home Lab¶
My home lab is used to maintain and improve my skill set in information technology using various modern software stacks. The virtualize environment uses a Proxmox server cluster providing the necessary virtual machines for hosts used in the lab environment. Virtual machine hosts are a mixture of Windows and Ubuntu operating systems, heavily leaning on Ubuntu. Some applications are deployed using Docker containerization. Virtual machines are deployed using Ansible as well as deployment of software and services. Semaphore UI provides simple access to some Ansible tasks.
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. Ansible is used provision these virtual machines 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 Ceph 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¶
Semaphore provides a convenient way to run playbooks from a web frontend.
Terraform¶
Terraform is used to automate virtual machine provisioning. It is embedded within Ansible where it is used to scaffold the Terraform configuration and variable files.
Jenkins¶
Jenkins will be used as the primary CI/CD frontend.
Reverse Proxy¶
An Nginx cluster providing fail-over provides a reverse-proxy for access to web-hosted applications.
Certificates¶
Lets Encrypt Certificates are generated using certbot.