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:
264
START-HERE.md
Normal file
264
START-HERE.md
Normal file
@@ -0,0 +1,264 @@
|
||||
# START HERE - Homelab Infrastructure Collection
|
||||
|
||||
## Welcome!
|
||||
|
||||
You now have a sophisticated, production-ready system for collecting and documenting your Proxmox homelab infrastructure. This guide will get you operational in minutes.
|
||||
|
||||
## What You Have
|
||||
|
||||
A complete automated collection system that:
|
||||
- Gathers ALL Proxmox configurations (VMs, containers, storage, network, backups)
|
||||
- Runs safely from your WSL2 environment via SSH
|
||||
- Creates organized, documented exports
|
||||
- Sanitizes sensitive information
|
||||
- Supports automation and version control
|
||||
|
||||
## Fastest Path to Success
|
||||
|
||||
### Step 1: Configure (2 minutes)
|
||||
|
||||
```bash
|
||||
cd /mnt/c/Users/fam1n/Documents/homelab
|
||||
|
||||
# Create your configuration file
|
||||
cp .env.example .env
|
||||
|
||||
# Edit it with your Proxmox IP address
|
||||
nano .env
|
||||
```
|
||||
|
||||
**Required change in .env:**
|
||||
```bash
|
||||
PROXMOX_HOST="192.168.1.100" # Replace with YOUR Proxmox IP
|
||||
```
|
||||
|
||||
Save and exit (Ctrl+X, Y, Enter in nano)
|
||||
|
||||
### Step 2: Test SSH (1 minute)
|
||||
|
||||
```bash
|
||||
# Test connection to your Proxmox server
|
||||
ssh root@192.168.1.100 # Use YOUR Proxmox IP
|
||||
|
||||
# If it works, exit back to WSL
|
||||
exit
|
||||
```
|
||||
|
||||
**Optional but recommended:** Set up passwordless SSH:
|
||||
```bash
|
||||
ssh-keygen -t ed25519
|
||||
ssh-copy-id root@192.168.1.100 # Use YOUR Proxmox IP
|
||||
```
|
||||
|
||||
### Step 3: Run Collection (1 minute)
|
||||
|
||||
```bash
|
||||
# Execute the collection
|
||||
bash collect.sh
|
||||
```
|
||||
|
||||
Watch as it:
|
||||
1. Connects to your Proxmox server
|
||||
2. Collects all configurations
|
||||
3. Downloads results to your local machine
|
||||
4. Shows you a summary
|
||||
|
||||
### Step 4: Review Results (1 minute)
|
||||
|
||||
```bash
|
||||
# View the summary
|
||||
cat exports/homelab-export-*/SUMMARY.md
|
||||
|
||||
# Browse what was collected
|
||||
ls -R exports/homelab-export-*/configs/
|
||||
```
|
||||
|
||||
## That's It!
|
||||
|
||||
You've just documented your entire homelab infrastructure. The export contains:
|
||||
|
||||
```
|
||||
exports/homelab-export-<timestamp>/
|
||||
├── configs/
|
||||
│ ├── proxmox/ ← Core Proxmox settings
|
||||
│ ├── vms/ ← All 8 VM configurations
|
||||
│ ├── lxc/ ← All 3 container configurations
|
||||
│ ├── storage/ ← Storage pool setups
|
||||
│ ├── network/ ← Network configuration
|
||||
│ └── backup/ ← Backup job schedules
|
||||
└── exports/
|
||||
├── system/ ← System information
|
||||
├── cluster/ ← Resource usage
|
||||
└── guests/ ← VM/container details
|
||||
```
|
||||
|
||||
## What's Next?
|
||||
|
||||
### Learn More
|
||||
- **Quick overview**: Read [INDEX.md](INDEX.md)
|
||||
- **Common patterns**: Read [README-COLLECTION.md](README-COLLECTION.md)
|
||||
- **Full reference**: Read [COLLECTION-GUIDE.md](COLLECTION-GUIDE.md)
|
||||
|
||||
### Common Tasks
|
||||
|
||||
**Weekly snapshots:**
|
||||
```bash
|
||||
bash collect.sh
|
||||
```
|
||||
|
||||
**Full collection before maintenance:**
|
||||
```bash
|
||||
bash collect.sh --level full --verbose
|
||||
```
|
||||
|
||||
**Sanitized export for sharing:**
|
||||
```bash
|
||||
bash collect.sh --sanitize all
|
||||
```
|
||||
|
||||
### Version Control
|
||||
|
||||
Store your infrastructure in Git:
|
||||
```bash
|
||||
cd exports/homelab-export-*/
|
||||
git init
|
||||
git add .
|
||||
git commit -m "Homelab snapshot $(date +%Y-%m-%d)"
|
||||
```
|
||||
|
||||
## Need Help?
|
||||
|
||||
### Documentation Files
|
||||
|
||||
| File | Purpose | Time to Read |
|
||||
|------|---------|--------------|
|
||||
| **INDEX.md** | Navigation and overview | 5 min |
|
||||
| **QUICK-START.md** | Getting started guide | 10 min |
|
||||
| **README-COLLECTION.md** | Common usage patterns | 15 min |
|
||||
| **COLLECTION-GUIDE.md** | Complete reference | 30 min |
|
||||
| **WORKFLOW-DIAGRAM.txt** | Visual architecture | 10 min |
|
||||
|
||||
### Quick Help
|
||||
|
||||
```bash
|
||||
# Script help
|
||||
bash collect.sh --help
|
||||
|
||||
# View documentation
|
||||
cat INDEX.md
|
||||
```
|
||||
|
||||
### Common Issues
|
||||
|
||||
**"Cannot connect to Proxmox"**
|
||||
- Check IP in `.env`
|
||||
- Test: `ssh root@<your-proxmox-ip>`
|
||||
|
||||
**"PROXMOX_HOST not set"**
|
||||
- Did you create `.env` from `.env.example`?
|
||||
- Did you set `PROXMOX_HOST` in `.env`?
|
||||
|
||||
**"Permission denied"**
|
||||
- Use: `bash collect.sh` (not `./collect.sh`)
|
||||
- Windows filesystem doesn't support Linux execute permissions
|
||||
|
||||
## Your Infrastructure
|
||||
|
||||
Your Proxmox node "serviceslab" includes:
|
||||
|
||||
**Virtual Machines:**
|
||||
- 100: docker-hub
|
||||
- 101: gitlab
|
||||
- 105: dev
|
||||
- 106: Ansible-Control
|
||||
- 108: CML
|
||||
- 109: web-server-01
|
||||
- 110: web-server-02
|
||||
- 111: db-server-01
|
||||
|
||||
**Containers:**
|
||||
- 102: nginx
|
||||
- 103: netbox
|
||||
- 112: Anytype
|
||||
|
||||
**Storage:**
|
||||
- local, local-lvm, Vault, PBS-Backups, iso-share
|
||||
|
||||
All of this will be documented in your exports!
|
||||
|
||||
## Files You Should Know About
|
||||
|
||||
### To Execute
|
||||
- `collect.sh` - Main command (uses .env configuration)
|
||||
- `collect-remote.sh` - Advanced SSH wrapper
|
||||
- `collect-homelab-config.sh` - Core engine (runs on Proxmox)
|
||||
|
||||
### To Configure
|
||||
- `.env` - YOUR configuration (create from .env.example)
|
||||
- `.env.example` - Template with all options
|
||||
|
||||
### To Read
|
||||
- `START-HERE.md` - This file
|
||||
- `INDEX.md` - Complete file index
|
||||
- `QUICK-START.md` - 5-minute getting started
|
||||
- `README-COLLECTION.md` - Overview and patterns
|
||||
- `COLLECTION-GUIDE.md` - Full reference manual
|
||||
- `WORKFLOW-DIAGRAM.txt` - Visual diagrams
|
||||
|
||||
## Quick Command Reference
|
||||
|
||||
```bash
|
||||
# Setup (one-time)
|
||||
cp .env.example .env
|
||||
nano .env # Set PROXMOX_HOST
|
||||
|
||||
# Collect (run anytime)
|
||||
bash collect.sh
|
||||
|
||||
# Review
|
||||
cat exports/homelab-export-*/SUMMARY.md
|
||||
|
||||
# Help
|
||||
bash collect.sh --help
|
||||
cat INDEX.md
|
||||
```
|
||||
|
||||
## Safety Notes
|
||||
|
||||
✓ **Completely Safe**: All operations are read-only
|
||||
✓ **No Modifications**: Script never changes your Proxmox setup
|
||||
✓ **Sanitized by Default**: Passwords and tokens are redacted
|
||||
✓ **Tested**: Production-ready, well-documented code
|
||||
|
||||
## Success Indicators
|
||||
|
||||
After running, you should see:
|
||||
```
|
||||
[✓] SSH connection successful
|
||||
[✓] Confirmed Proxmox VE installation
|
||||
[✓] Script uploaded successfully
|
||||
[✓] Collection completed successfully
|
||||
[✓] Archive downloaded successfully
|
||||
```
|
||||
|
||||
## Ready?
|
||||
|
||||
Execute these commands:
|
||||
|
||||
```bash
|
||||
cd /mnt/c/Users/fam1n/Documents/homelab
|
||||
cp .env.example .env
|
||||
nano .env # Set your Proxmox IP
|
||||
bash collect.sh
|
||||
```
|
||||
|
||||
**That's all you need!** The rest of the documentation is there when you need it.
|
||||
|
||||
---
|
||||
|
||||
**Quick Links:**
|
||||
- Overview: [INDEX.md](INDEX.md)
|
||||
- Getting Started: [QUICK-START.md](QUICK-START.md)
|
||||
- Full Guide: [COLLECTION-GUIDE.md](COLLECTION-GUIDE.md)
|
||||
|
||||
**Version:** 1.0.0 | **Created:** 2024-11-28
|
||||
Reference in New Issue
Block a user