Initial commit: Homelab infrastructure repository with automated collection system
- Added Proxmox VE configuration collection scripts - Included documentation and quick-start guides - First infrastructure snapshot from serviceslab (2025-11-29) - All VM configs (10 VMs) and LXC configs (3 containers) - Git setup complete with .gitignore protecting sensitive data
This commit is contained in:
141
README.md
Normal file
141
README.md
Normal file
@@ -0,0 +1,141 @@
|
||||
# Homelab Infrastructure Repository
|
||||
|
||||
Version-controlled infrastructure configuration for my Proxmox-based homelab environment.
|
||||
|
||||
## Overview
|
||||
|
||||
This repository contains configuration files, scripts, and documentation for managing a Proxmox VE 8.3.3 homelab environment. The infrastructure follows a hybrid architecture combining traditional virtualization (KVM/QEMU) with containerization (LXC) for optimal resource utilization.
|
||||
|
||||
## Infrastructure Components
|
||||
|
||||
### Proxmox Host
|
||||
- **Node**: serviceslab
|
||||
- **Version**: Proxmox VE 8.3.3
|
||||
- **Architecture**: Single-node cluster
|
||||
- **Primary Use**: Services and development laboratory
|
||||
|
||||
### Virtual Machines (QEMU/KVM)
|
||||
- **100** - docker-hub: Container registry and Docker hub mirror
|
||||
- **101** - gitlab: GitLab CE/EE for source control and CI/CD
|
||||
- **105** - dev: General-purpose development environment
|
||||
- **106** - Ansible-Control: Infrastructure automation control node
|
||||
- **108** - CML: Cisco Modeling Labs for network simulation
|
||||
- **109** - web-server-01: Web application server (clustered)
|
||||
- **110** - web-server-02: Web application server (load-balanced)
|
||||
- **111** - db-server-01: Database server
|
||||
|
||||
### Containers (LXC)
|
||||
- **102** - nginx: Reverse proxy and load balancer
|
||||
- **103** - netbox: Network documentation and IPAM
|
||||
- **112** - Anytype: Knowledge management system
|
||||
|
||||
### Storage Pools
|
||||
- **local**: System files, ISOs, and templates
|
||||
- **local-lvm**: VM disk images (thin provisioned)
|
||||
- **Vault**: Secure storage for sensitive data
|
||||
- **PBS-Backups**: Proxmox Backup Server repository
|
||||
- **iso-share**: Installation media library
|
||||
|
||||
## Repository Structure
|
||||
|
||||
```
|
||||
homelab/
|
||||
├── .env.example # Template for environment configuration
|
||||
├── collect*.sh # Scripts for collecting Proxmox configuration
|
||||
├── homelab-export-*/ # Exported configuration snapshots
|
||||
├── CLAUDE.md # AI assistant guidance for this repository
|
||||
├── INDEX.md # Comprehensive documentation index
|
||||
├── START-HERE.md # Getting started guide
|
||||
└── README.md # This file
|
||||
```
|
||||
|
||||
## Quick Start
|
||||
|
||||
### Prerequisites
|
||||
- SSH access to your Proxmox server
|
||||
- Basic familiarity with Linux command line
|
||||
- WSL2 (if running on Windows) or native Linux environment
|
||||
|
||||
### Initial Setup
|
||||
|
||||
1. **Configure Environment**:
|
||||
```bash
|
||||
cp .env.example .env
|
||||
# Edit .env with your Proxmox host details
|
||||
```
|
||||
|
||||
2. **Collect Current Configuration**:
|
||||
```bash
|
||||
./collect-homelab-config.sh
|
||||
```
|
||||
|
||||
3. **Review Exported Data**:
|
||||
```bash
|
||||
# The script creates timestamped exports in homelab-export-YYYYMMDD-HHMMSS/
|
||||
```
|
||||
|
||||
## Scripts
|
||||
|
||||
### collect-homelab-config.sh
|
||||
Comprehensive configuration collection script with multiple collection levels:
|
||||
- **basic**: Essential configurations only
|
||||
- **standard**: Recommended for most users
|
||||
- **full**: Detailed system information
|
||||
- **paranoid**: Complete infrastructure snapshot
|
||||
|
||||
### collect-remote.sh
|
||||
Remote collection wrapper for running collection on Proxmox host via SSH.
|
||||
|
||||
### collect.sh
|
||||
Simplified collection interface.
|
||||
|
||||
## Usage Guides
|
||||
|
||||
- **START-HERE.md**: Complete beginner's guide
|
||||
- **COLLECTION-GUIDE.md**: Detailed collection script documentation
|
||||
- **SCRIPT-USAGE.md**: Advanced script usage and customization
|
||||
- **INDEX.md**: Comprehensive documentation index
|
||||
|
||||
## Security Notes
|
||||
|
||||
- The `.env` file is ignored by git (contains sensitive information)
|
||||
- Exported configurations may contain IP addresses and hostnames
|
||||
- Review sanitization options in `.env` before sharing exports
|
||||
- Always use `.env.example` as template and never commit actual `.env`
|
||||
|
||||
## Backup Strategy
|
||||
|
||||
- Automated backups via Proxmox Backup Server (PBS-Backups pool)
|
||||
- Configuration exports stored in timestamped directories
|
||||
- Version control for Infrastructure as Code changes
|
||||
|
||||
## Contributing
|
||||
|
||||
This is a personal homelab repository. If you're using this as a template:
|
||||
|
||||
1. Fork the repository
|
||||
2. Customize `.env` for your environment
|
||||
3. Update VM/CT IDs and names to match your infrastructure
|
||||
4. Modify scripts as needed for your use case
|
||||
|
||||
## Documentation
|
||||
|
||||
See the following files for detailed information:
|
||||
- **CLAUDE.md**: AI assistant context and repository guidelines
|
||||
- **WORKFLOW-DIAGRAM.txt**: Visual workflow representation
|
||||
- **QUICK-START.md**: Fast-track setup guide
|
||||
|
||||
## License
|
||||
|
||||
This is a personal infrastructure repository. Use at your own risk.
|
||||
|
||||
## Support
|
||||
|
||||
For questions about:
|
||||
- **Proxmox**: https://pve.proxmox.com/wiki/Main_Page
|
||||
- **This Repository**: See documentation files or create an issue
|
||||
|
||||
---
|
||||
|
||||
*Last Updated: 2025-11-29*
|
||||
*Proxmox Version: 8.3.3*
|
||||
Reference in New Issue
Block a user