Virtual Machines (VMs) are the heartbeat of my homelab. They host critical services, experimental setups, and provide a sandbox environment for testing and learning. Below is an overview of the VMs currently running in my homelab, along with their purposes and configurations.
- Purpose: Centralized media server for streaming movies, TV shows, and music to devices across the network.
- Operating System: Ubuntu Server 22.04
- Resources:
- CPU: 4 cores
- RAM: 8 GB
- Disk: 500 GB (ZFS-backed storage for performance and redundancy)
- Networking: Bridged network interface to ensure seamless connectivity with other devices on the LAN.
- Purpose: Personal cloud storage for syncing and sharing files, along with calendar and contact management.
- Operating System: Ubuntu Server 22.04
- Resources:
- CPU: 2 cores
- RAM: 4 GB
- Disk: 200 GB
- Networking: NAT with port forwarding for external access via HTTPS.
- Purpose: Network-wide ad-blocking and DNS filtering.
- Operating System: Debian 11
- Resources:
- CPU: 1 core
- RAM: 1 GB
- Disk: 20 GB
- Networking: VLAN assignment to manage DNS for multiple network segments.
¶ 4. Development and Testing VM
- Purpose: A sandbox environment for testing scripts, applications, and configurations before deploying to production.
- Operating System: Rocky Linux 9
- Resources:
- CPU: 4 cores
- RAM: 8 GB
- Disk: 100 GB
- Networking: Bridged network interface for direct access to other VMs and services.
- Purpose: Dedicated server for hosting Minecraft sessions for friends and family.
- Operating System: Ubuntu Server 20.04
- Resources:
- CPU: 4 cores
- RAM: 6 GB
- Disk: 50 GB SSD for fast I/O performance.
- Networking: NAT with port forwarding for external connections.
¶ 6. Reverse Proxy and Web Services
- Purpose: Centralized management of HTTPS traffic for web services running on different VMs.
- Operating System: Ubuntu Server 22.04 with Nginx.
- Resources:
- CPU: 2 cores
- RAM: 2 GB
- Disk: 10 GB
- Networking: Bridged interface to manage internal and external traffic routing.
¶ 7. Automation and CI/CD Pipeline VM
- Purpose: Automating deployments and running continuous integration workflows.
- Operating System: Ubuntu Server 22.04 with GitLab.
- Resources:
- CPU: 6 cores
- RAM: 12 GB
- Disk: 250 GB
- Networking: Bridged network for direct integration with other services.
Each VM in my homelab plays a specific role, contributing to the overall functionality and experimentation I aim for. With this modular setup, I can explore, learn, and optimize my environment while ensuring critical services remain operational. Check out the Detailed VM Setups page for an in-depth look at configurations and resource allocations.