# Homelab Documentation Plan ## Overview This document outlines the recommended approach for documenting homelab nodes and creating network diagrams for infrastructure management. ## Recommended Tools ### 1. Scanopy - **Purpose**: Network documentation that automatically scans and updates infrastructure - **Features**: * Automatic network discovery without per-device agents * Four views: L2 (Physical), L3 (Logical), Workloads, Application dependencies * 230+ service definitions * Docker & SNMP integration * Scheduled rescans * Multi-user + RBAC support * Export as SVG, Mermaid, or Confluence * Self-hosted (AGPL-3.0) or Commercial license available - **URL**: https://github.com/scanopy/scanopy ### 2. Dashy - **Purpose**: Personal dashboard for organizing self-hosted services - **Features**: * Real-time status monitoring for services * Multiple pages support * Widgets for dynamic content * Theming with custom CSS * Authentication support * Icon packs (Font-Awesome, favicon auto-fetching, emoji, etc.) * Search functionality * Supports Docker and bare-metal deployment - **URL**: https://github.com/Lissy93/dashy ## Implementation Scripts ### Scanopy Setup Script - **File**: `setup-scanopy.sh` - **Purpose**: Automate setting up Scanopy with default configuration for homelab network discovery - **Usage**: `./setup-scanopy.sh` ### Dashy Setup Script - **File**: `setup-dashy.sh` - **Purpose**: Automate setting up Dashy dashboard for homelab services - **Usage**: `./setup-dashy.sh` ### Node Documentation Template - **File**: `node-template.md` - **Purpose**: Template for documenting individual nodes in the homelab with consistent structure ### Mermaid Diagram Generator - **File**: `generate-mermaid.py` - **Purpose**: Generate mermaid diagrams from node data - **Usage**: `python3 generate-mermaid.py nodes-data.json output.mmd` ## Network Diagram ### Sample Homelab Topology The following diagram shows typical homelab node interactions: ```mermaid graph TD %% Network Infrastructure subgraph "Homelab Network" Router[Router
192.168.1.1] Firewall[Firewall
192.168.1.254] NAS[NAS
192.168.1.10] MediaServer[Media Server
192.168.1.20] HomeHub[Home Automation Hub
192.168.1.30] %% Client Devices Laptop[Laptop
192.168.1.100] Phone[Phone
192.168.1.101] Tablet[Tablet
192.168.1.102] Desktop[Desktop
192.168.1.103] SmartTV[Smart TV
192.168.1.104] IoTDevice[IoT Device
192.168.1.150] %% Connections Router -->|Internal| Firewall Firewall -->|Internal| NAS Firewall -->|Internal| MediaServer Firewall -->|Internal| HomeHub Firewall -->|External| Internet[Internet] NAS -->|Storage| MediaServer NAS -->|Storage| HomeHub MediaServer -->|Streaming| SmartTV MediaServer -->|Network| Laptop MediaServer -->|Network| Desktop HomeHub -->|Control| IoTDevice HomeHub -->|Control| Laptop HomeHub -->|Control| Phone HomeHub -->|Control| Tablet Laptop -->|Network| Firewall Phone -->|Network| Firewall Tablet -->|Network| Firewall Desktop -->|Network| Firewall SmartTV -->|Network| Firewall IoTDevice -->|Network| Firewall end ``` ## Implementation Strategy 1. **Use Scanopy** to automatically document network infrastructure and update it regularly 2. **Use Dashy** as the main dashboard to organize and access all services 3. **Create node summary documents** for each component with details including: - IP addresses - Services running - Roles in the network - Maintenance requirements This approach will provide both automated infrastructure documentation and a user-friendly dashboard for accessing your homelab services.