Welcome to my Homelab repository! This space is a comprehensive overview of my homelab, including hardware specifications, software configurations, network diagrams, and project details.
This repository is a living document as I experiment with new technologies, refine existing setups, and tackle new challenges. My goal is to create a resource that helps me maintain my homelab and provides valuable insights and examples for others looking to build or expand their own environments.
This section details the physical hardware components of my homelab.
- Servers:
- Desktop Tower (Custom Built) - Specifications, purpose, and configuration.
- Intel NUC (Model) - Specifications, purpose, and configuration.
- Networking Equipment:
- pfSense Router (Model) - Configuration and settings.
- Dumb Switch (Model) - Configuration and basic setup.
- Access Point (Model) - Configuration and settings.
- Storage:
- Synology NAS (Model) - Configuration and storage setup.
- External Drives - Details on connected external storage.
- Other Devices:
- Cheap UPS (Model) - Configuration and monitoring.
- ZimaBoard (Model) - Purpose and setup.
This section outlines the software used in the homelab, including operating systems, virtualization platforms, and applications.
- Operating Systems:
- Linux (Distribution) - Configuration and customizations.
- Windows Server (Version) - Configuration and roles.
- ...
- Virtualization:
- Proxmox VE - Configuration and VM setup.
- Docker - Container configurations and usage.
- Kubernetes - Cluster setup and deployments.
- ...
- Applications:
- Plex - Configuration and library setup.
- Nextcloud - Configuration and usage.
- Home Assistant - Configuration and automations.
- ...
This section describes the network configuration, including IP addressing, VLANs, and firewall rules.
- Network Diagram - Visual representation of the network topology.
- IP Addressing - IP address assignments and subnets.
- VLANs - VLAN configuration and purpose.
- Firewall Rules - Firewall configuration and security policies.
- DNS Configuration - DNS server setup and records.
- VPN Configuration - VPN setup and remote access.
This section documents the various services running in the homelab.
- Web Server - Configuration and hosted websites.
- Media Server - Media streaming and management.
- File Server - File sharing and storage.
- Database Server - Database configuration and usage.
- Monitoring - Monitoring tools and setup.
- Backup - Backup strategies and configurations.
This section details specific projects undertaken in the homelab.
-
Project 1: VirtualBox Network Setup - Setting up VirtualBox and networking VMs.
- Description: This project was about setting up VirtualBox on the Desktop tower and configuring virtual machines to communicate with each other and the host network.
- Implementation:
- Installed VirtualBox on the host machine.
- Created multiple virtual machines with different operating systems.
- Configured VirtualBox network settings using internal and bridged adapters.
- Configured static IP addresses for the VMs.
- Tested network connectivity between VMs and the host.
- Outcome: A working VirtualBox environment with networked VMs, allowing for testing and development in an isolated environment.
-
Project 2: Proxmox VE Setup - Setting up and configuring Proxmox VE for virtualization.
- Description: This project focused on installing and configuring Proxmox VE on the desktop tower to create a robust virtualization environment.
- Implementation:
- Installed Proxmox VE from a bootable USB drive.
- Configured network settings and storage pools.
- Created initial virtual machines for various services.
- Setup backups for the VMs.
- Outcome: A stable and efficient virtualization platform, allowing for easy management of multiple virtual machines and services.
-
Project 3: Minecraft Server - Setting up a dedicated Minecraft server.
- Description: This project involved setting up a Minecraft server to play with friends and family.
- Implementation:
- Created a Linux VM on Proxmox VE.
- Installed Java and the Minecraft server software.
- Configured server settings, including memory allocation and port forwarding.
- Setup a dynamic DNS to access the server remotely.
- Implemented backups for the world data.
- Outcome: A functional and accessible Minecraft server, providing a fun and engaging experience for multiple players.
-
Project 4: AI Voice Cloning - Description, implementation, and outcomes.