Files
homelab/README.md

7.5 KiB

🏠 Homelab Infrastructure

Owner: Your Name
Last Updated: October 31, 2025
Status: Operational
Purpose: Personal learning, self-hosted services, development environment


📋 Quick Reference

Resource Value Status
Platform Unraid 7.2.0 Running
Hostname Tower Online
IP Address 192.168.68.51/22 Active
Uptime 3 minutes (as of last config) Stable
Services 6 running / 32 total ⚠️ Cleanup needed

🖥️ Hardware Overview

Compute

  • CPU: AMD Ryzen 9 7945HX (16 cores / 32 threads)
    • Base: 2.5 GHz
    • Boost: 5.46 GHz
    • Current Load: <1% (massive headroom)
  • Memory: 60GB DDR4/DDR5
    • Used: 4.4GB (7%)
    • Available: 56GB
  • GPU: NVIDIA GeForce RTX 4090
    • Status: Available for transcoding/AI workloads
    • VRAM: 24GB

Storage

  • Parity: 12TB WD Red Plus (sdb)
  • Data Disk 1: 12TB WD Red Plus (sdc) - 1TB used (10%)
  • Cache Pool: 932GB WD Red SN700 NVMe - 578GB used (63%) ⚠️
  • Boot Drive: 58GB Kingston USB 3.0

Network

  • NIC: Realtek RTL8125 2.5GbE
  • Primary Network: 192.168.68.0/22 (br0)
  • VPN: Tailscale (100.122.220.126)
  • Remote Access: Cloudflare Tunnel

🌐 Network Architecture

Internet
    │
    ├─── TP-Link Router (192.168.68.1)
    │       │
    │       ├─── Raspberry Pi Zero (Pi-hole + Unbound DNS)
    │       ├─── Unraid Server (192.168.68.51) ← YOU ARE HERE
    │       ├─── Gaming PC
    │       ├─── Laptop (daily driver)
    │       └─── PiKVM (remote server management)
    │
    └─── Cloudflare Tunnel (external access)
             └─── Tailscale VPN (secure remote)

Subnets:

  • Primary LAN: 192.168.68.0/22 (1022 usable IPs)
  • Docker Bridge: 172.17.0.0/16
  • Libvirt: 192.168.122.0/24
  • Tailscale: 100.64.0.0/10 (CGNAT range)

📦 Running Services

Service Container Port(s) Purpose
LLM Interface open-webui 3000 ChatGPT-like UI for local models
Reverse Proxy NginxProxyManager 1880, 7818, 18443 SSL termination, routing
Git Server Gitea 22, 3002 Version control (GitHub alternative)
Remote Desktop ApacheGuacamole 4000 Browser-based RDP/VNC/SSH
Tunnel Cloudflared 46495 Secure external access
Password Manager Vaultwarden 4743 Self-hosted Bitwarden

Access URLs:

  • Unraid Dashboard: http://192.168.68.51
  • Gitea: http://192.168.68.51:3002
  • Nginx Proxy Manager: http://192.168.68.51:7818
  • open-webui: http://192.168.68.51:3000
  • Vaultwarden: http://192.168.68.51:4743
  • Guacamole: http://192.168.68.51:4000

📚 Documentation Structure

infrastructure/
├── README.md                        ← You are here
├── docs/
│   ├── network-map.md              # Detailed network topology
│   ├── service-inventory.md        # Complete service catalog
│   ├── quick-start.md              # Emergency recovery guide
│   └── runbooks/
│       └── restart-services.md     # Common procedures
├── docker-compose/                  # Future: Compose stacks
├── configs/                         # Configuration files
├── scripts/                         # Automation scripts
└── .gitignore                       # Git exclusions

🎯 Current Focus Areas

Working Well

  • Core infrastructure stable (reverse proxy, VPN, Git)
  • Professional tools in place (Gitea, NPM, Vaultwarden)
  • Remote access configured (Tailscale + Cloudflare)
  • GPU available for acceleration projects

⚠️ Needs Attention

  • Monitoring: Grafana/InfluxDB/Telegraf stack stopped (no observability)
  • Cache Storage: 63% full - approaching performance threshold
  • Container Cleanup: 26 of 32 containers stopped (decision needed)
  • Backups: No automated backup strategy evident
  • Documentation: Starting to build comprehensive docs (this repo!)

🚀 Planned Improvements

  • Phase 1: Foundation documentation (IN PROGRESS)
  • Phase 2: Restart monitoring stack
  • Phase 3: Implement backup strategy
  • Phase 4: Container consolidation
  • Phase 5: GPU utilization projects

🔧 Quick Commands

System Information

# Check system status
uname -a
uptime

# Resource usage
free -h
df -h
docker stats --no-stream

Docker Management

# List all containers
docker ps -a

# View logs
docker logs <container_name>

# Restart service
docker restart <container_name>

# System cleanup (careful!)
docker system prune -a

Network Troubleshooting

# Check interfaces
ip addr show

# Test connectivity
ping 192.168.68.1
ping 8.8.8.8

# DNS resolution
nslookup google.com

📖 Learning Resources

Official Documentation:

Community:

YouTube Channels:

  • SpaceInvaderOne (Unraid specialist)
  • Techno Tim (homelab projects)
  • NetworkChuck (networking, Docker, security)

🔐 Security Notes

Access Control:

  • Tailscale VPN for secure remote access
  • Cloudflare Tunnel (no open ports on router)
  • Reverse proxy with SSL capability
  • ⚠️ Review firewall rules (currently permissive)
  • ⚠️ Enable MFA where available

Secrets Management:

  • ⚠️ Current: Environment variables (plain text)
  • 🎯 Goal: Docker Secrets or encrypted vault
  • 📋 TODO: Implement proper secrets rotation

📞 Getting Help

When things break:

  1. Check docs/troubleshooting/ (future section)
  2. Review container logs: docker logs <name>
  3. Consult docs/runbooks/ for procedures
  4. Search Unraid forums
  5. Ask in r/unraid or r/homelab

Emergency Contacts:

  • Document important contacts here (ISP, etc.)

📝 Change Log

Date Change Impact
2025-10-31 Initial documentation created Foundation established
2025-10-31 System configuration exported Baseline captured

🎓 Project History

Completed:

  • Unraid server setup and configuration
  • Docker container deployment (32 total)
  • Network infrastructure (VPN, tunnel, reverse proxy)
  • GPU passthrough capability
  • Core services: Git, password manager, remote access

In Progress:

  • Documentation project (Phase 1) ← YOU ARE HERE
  • Monitoring stack restart
  • Backup strategy implementation

Planned:

  • Container cleanup and consolidation
  • GPU utilization projects (Jellyfin transcoding, AI/ML)
  • Network segmentation (VLANs)
  • Infrastructure as Code (Ansible/Terraform)

🏆 Goals

Short-term (1-3 months):

  • Complete documentation (all phases)
  • Restart and configure monitoring
  • Implement automated backups
  • Clean up stopped containers
  • Define service strategy (what to keep/remove)

Long-term (3-12 months):

  • Build professional portfolio of projects
  • Master Docker Compose and orchestration
  • Implement CI/CD pipelines
  • Create homelab tutorials/blog posts
  • Achieve 95%+ uptime for critical services

📜 License

Personal infrastructure - not licensed for public use.
Documentation and configurations © 2025


Last Review: October 31, 2025
Next Review: December 1, 2025
Status: Living document - update as infrastructure evolves