About this project
tux2lab transforms a Linux workstation into an automated virtual datacenter for homelab use. It provisions KVM virtual machines via PXE boot and golden images, manages the complete VM lifecycle (deploy, resize, snapshot, destroy), and runs all lab networking services—DNS (BIND), DHCP (Kea), PXE/TFTP (iPXE), NTP (chrony), HTTP/HTTPS (nginx), IPv6 RA, and NFS—in a single minimal Podman container (~60 MB Alpine-based).
The project is orchestrated entirely with Bash scripts (JBOBS), without frameworks or external languages. It supports Red Hat-family (AlmaLinux, Rocky, Oracle Linux, CentOS Stream, RHEL), Debian-family (Ubuntu, Debian), SUSE (openSUSE Leap), and Azure Linux distributions.
Key features include:
- Automated golden image builds for near-instant VM deployment
- Dual-stack networking (IPv4 + IPv6 ULA) with per-VM configuration
- Dynamic DNS management via dnsbinder
- TCP load balancer management via nginx stream (lbmanager)
- Full CLI: `tux2lab vm install`, `resize`, `snapshot`, `console`, and more
- Host setup script that installs QEMU/KVM, libvirt, Podman, and configures the `labbr0` bridge
- Persistent state stored in `/tux2lab-data/` under the container
Minimum requirements: 2 GiB RAM, 2 vCPUs, 30 GiB disk per guest VM; KVM host on RHEL-based, Ubuntu, or openSUSE with hardware virtualization.
Use cases include running highly available Kubernetes clusters and other infrastructure experiments. The project is licensed under GPL v3.0.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.