From b4f344d355985ff28f51e6a89ecbc7833f3d88c1 Mon Sep 17 00:00:00 2001 From: devmatrix Date: Mon, 16 Feb 2026 15:44:09 +0000 Subject: [PATCH] feat: Add n8n and NetworkChuck-inspired homelab tools --- setup_openclaw_dev.sh | 122 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) diff --git a/setup_openclaw_dev.sh b/setup_openclaw_dev.sh index d7872e4..c052bd2 100644 --- a/setup_openclaw_dev.sh +++ b/setup_openclaw_dev.sh @@ -442,6 +442,105 @@ echo "" EOFSCRIPT chmod +x ~/scripts/configure_api_keys.sh +# ============================================ +# NETWORKCHUCK-INSPIRED HOMELAB TOOLS (Docker) +# ============================================ +log "🚀 Installing NetworkChuck-inspired homelab tools..." + +# Create Docker network for homelab +sudo docker network create homelab 2>/dev/null || log "✓ homelab network already exists" + +# Create directory for homelab +cd ~ +mkdir -p ~/homelab/{portainer,nginx-proxy-manager,uptime-kuma,heimdall,n8n,wireguard,adguard,vaultwarden} + +# Portainer - Docker Management +log "📦 Setting up Portainer (Docker Management)..." +sudo docker run -d \ + --name portainer \ + --restart=always \ + -p 9000:9000 \ + -v /var/run/docker.sock:/var/run/docker.sock \ + -v portainer_data:/data \ + portainer/portainer-ce:latest 2>/dev/null || log "✓ Portainer already running" + +# Nginx Proxy Manager - Reverse Proxy +log "📦 Setting up Nginx Proxy Manager..." +sudo docker run -d \ + --name nginx-proxy-manager \ + --restart=always \ + -p 80:80 \ + -p 81:81 \ + -p 443:443 \ + -v ~/homelab/nginx-proxy-manager/data:/data \ + -v ~/homelab/nginx-proxy-manager/letsencrypt:/etc/letsencrypt \ + jc21/nginx-proxy-manager:latest 2>/dev/null || log "✓ Nginx Proxy Manager already running" + +# n8n - Workflow Automation +log "📦 Setting up n8n (Workflow Automation)..." +sudo docker run -d \ + --name n8n \ + --restart=always \ + -p 5678:5678 \ + -v ~/homelab/n8n:/home/node/.n8n \ + -e GENERIC_TIMEZONE="Europe/Stockholm" \ + n8nio/n8n:latest 2>/dev/null || log "✓ n8n already running" + +# Uptime Kuma - Monitoring +log "📦 Setting up Uptime Kuma (Monitoring)..." +sudo docker run -d \ + --name uptime-kuma \ + --restart=always \ + -p 3001:3001 \ + -v ~/homelab/uptime-kuma:/app/data \ + louislam/uptime-kuma:latest 2>/dev/null || log "✓ Uptime Kuma already running" + +# Heimdall - Dashboard +log "📦 Setting up Heimdall (Dashboard)..." +sudo docker run -d \ + --name heimdall \ + --restart=always \ + -p 8081:80 \ + -v ~/homelab/heimdall:/config \ + linuxserver/heimdall:latest 2>/dev/null || log "✓ Heimdall already running" + +# Vaultwarden - Password Manager (Bitwarden alternative) +log "📦 Setting up Vaultwarden (Password Manager)..." +sudo docker run -d \ + --name vaultwarden \ + --restart=always \ + -p 8082:80 \ + -v ~/homelab/vaultwarden:/data \ + vaultwarden/server:latest 2>/dev/null || log "✓ Vaultwarden already running" + +# WireGuard - VPN +log "📦 Setting up WireGuard (VPN)..." +sudo docker run -d \ + --name wireguard \ + --restart=always \ + --cap-add NET_ADMIN \ + --cap-add SYS_MODULE \ + -p 51820:51820/udp \ + -v ~/homelab/wireguard:/config \ + -e PUID=1000 \ + -e PGID=1000 \ + linuxserver/wireguard:latest 2>/dev/null || log "✓ WireGuard already running" + +# AdGuard Home - DNS/Ad Blocker +log "📦 Setting up AdGuard Home (DNS/Ad Blocker)..." +sudo docker run -d \ + --name adguardhome \ + --restart=always \ + -p 53:53/tcp \ + -p 53:53/udp \ + -p 3003:3000 \ + -p 853:853/tcp \ + -v ~/homelab/adguard/workdir:/opt/adguardhome/work \ + -v ~/homelab/adguard/confdir:/opt/adguardhome/conf \ + adguard/adguardhome:latest 2>/dev/null || log "✓ AdGuard already running" + +log "✓ Homelab tools installed!" + # ============================================ # BASH ALIASES # ============================================ @@ -458,6 +557,15 @@ alias oc='openclaw' alias ocs='openclaw sessions' alias ocm='openclaw models' +# Homelab Aliases (NetworkChuck-inspired) +alias portainer='echo "http://$(hostname -I | awk '"'"'{print $1}'"'"'):9000"' +alias npm='echo "http://$(hostname -I | awk '"'"'{print $1}'"'"'):81"' +alias n8n='echo "http://$(hostname -I | awk '"'"'{print $1}'"'"'):5678"' +alias uptime='echo "http://$(hostname -I | awk '"'"'{print $1}'"'"'):3001"' +alias dashboard='echo "http://$(hostname -I | awk '"'"'{print $1}'"'"'):8081"' +alias vault='echo "http://$(hostname -I | awk '"'"'{print $1}'"'"'):8082"' +alias adguard='echo "http://$(hostname -I | awk '"'"'{print $1}'"'"'):3003"' + # Development aliases alias serve='python3 -m http.server' alias myip='curl -s ipinfo.io/ip' @@ -481,6 +589,10 @@ echo "🐳 Docker: $(docker --version 2>/dev/null | cut -d' ' -f3 | tr -d ',')" echo "🎯 Flutter: $(flutter --version 2>/dev/null | head -1)" echo "🔷 .NET: $(dotnet --version 2>/dev/null)" echo "" +echo "🏠 Homelab Dashboard: http://$(hostname -I | awk '{print $1}'):8081" +echo "📊 Portainer: http://$(hostname -I | awk '{print $1}'):9000" +echo "🔄 n8n: http://$(hostname -I | awk '{print $1}'):5678" +echo "" echo "Next: Run '~/scripts/configure_api_keys.sh' to add your API keys" echo "" EOF @@ -502,6 +614,16 @@ echo "║ 🗄️ PostgreSQL: Installed and running ║" echo "║ 📊 Redis: Installed and running ║" echo "║ 📝 VS Code: http://$(hostname -I | awk '{print $1}'):8080 ║" echo "║ ║" +echo "║ 🏠 HOMELAB TOOLS (NetworkChuck-inspired): ║" +echo "║ 📦 Portainer: http://$(hostname -I | awk '{print $1}'):9000" +echo "║ 🌐 Nginx Proxy: http://$(hostname -I | awk '{print $1}'):81" +echo "║ 🔄 n8n: http://$(hostname -I | awk '{print $1}'):5678" +echo "║ 📈 Uptime Kuma: http://$(hostname -I | awk '{print $1}'):3001" +echo "║ 🗂️ Heimdall: http://$(hostname -I | awk '{print $1}'):8081" +echo "║ 🔐 Vaultwarden: http://$(hostname -I | awk '{print $1}'):8082" +echo "║ 🛡️ AdGuard: http://$(hostname -I | awk '{print $1}'):3003" +echo "║ 🔒 WireGuard: Port 51820/udp ║" +echo "║ ║" echo "╠════════════════════════════════════════════════════════════╣" echo "║ NEXT STEP: Run '~/scripts/configure_api_keys.sh' ║" echo "║ to add your Kimi and Antigravity API keys ║"