feat: Add n8n and NetworkChuck-inspired homelab tools

This commit is contained in:
devmatrix 2026-02-16 15:44:09 +00:00
parent da3dbff1c2
commit b4f344d355
1 changed files with 122 additions and 0 deletions

View File

@ -442,6 +442,105 @@ echo ""
EOFSCRIPT EOFSCRIPT
chmod +x ~/scripts/configure_api_keys.sh 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 # BASH ALIASES
# ============================================ # ============================================
@ -458,6 +557,15 @@ alias oc='openclaw'
alias ocs='openclaw sessions' alias ocs='openclaw sessions'
alias ocm='openclaw models' 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 # Development aliases
alias serve='python3 -m http.server' alias serve='python3 -m http.server'
alias myip='curl -s ipinfo.io/ip' 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 "🎯 Flutter: $(flutter --version 2>/dev/null | head -1)"
echo "🔷 .NET: $(dotnet --version 2>/dev/null)" echo "🔷 .NET: $(dotnet --version 2>/dev/null)"
echo "" 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 "Next: Run '~/scripts/configure_api_keys.sh' to add your API keys"
echo "" echo ""
EOF EOF
@ -502,6 +614,16 @@ echo "║ 🗄️ PostgreSQL: Installed and running ║"
echo "║ 📊 Redis: Installed and running ║" echo "║ 📊 Redis: Installed and running ║"
echo "║ 📝 VS Code: http://$(hostname -I | awk '{print $1}'):8080 ║" echo "║ 📝 VS Code: http://$(hostname -I | awk '{print $1}'):8080 ║"
echo "║ ║" 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 "╠════════════════════════════════════════════════════════════╣"
echo "║ NEXT STEP: Run '~/scripts/configure_api_keys.sh' ║" echo "║ NEXT STEP: Run '~/scripts/configure_api_keys.sh' ║"
echo "║ to add your Kimi and Antigravity API keys ║" echo "║ to add your Kimi and Antigravity API keys ║"