feat: Customize homelab tools - remove Nginx Proxy, AdGuard, WireGuard. Add Heimdall auto-config.

This commit is contained in:
devmatrix 2026-02-16 15:50:27 +00:00
parent b4f344d355
commit 00d0620c77
1 changed files with 31 additions and 53 deletions

View File

@ -443,39 +443,27 @@ EOFSCRIPT
chmod +x ~/scripts/configure_api_keys.sh
# ============================================
# NETWORKCHUCK-INSPIRED HOMELAB TOOLS (Docker)
# DEVMATRIX HOMELAB TOOLS (Docker)
# ============================================
log "🚀 Installing NetworkChuck-inspired homelab tools..."
log "🚀 Installing DevMatrix homelab tools..."
# Create Docker network for homelab
sudo docker network create homelab 2>/dev/null || log "✓ homelab network already exists"
sudo docker network create devmatrix 2>/dev/null || log "✓ devmatrix network already exists"
# Create directory for homelab
cd ~
mkdir -p ~/homelab/{portainer,nginx-proxy-manager,uptime-kuma,heimdall,n8n,wireguard,adguard,vaultwarden}
mkdir -p ~/homelab/{portainer,uptime-kuma,heimdall,n8n,vaultwarden}
# Portainer - Docker Management
# Portainer - Docker Management for DevMatrix
log "📦 Setting up Portainer (Docker Management)..."
sudo docker run -d \
--name portainer \
--name portainer-devmatrix \
--restart=always \
-p 9000:9000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
-v portainer_devmatrix_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 \
@ -486,7 +474,7 @@ sudo docker run -d \
-e GENERIC_TIMEZONE="Europe/Stockholm" \
n8nio/n8n:latest 2>/dev/null || log "✓ n8n already running"
# Uptime Kuma - Monitoring
# Uptime Kuma - Monitoring DevMatrix services
log "📦 Setting up Uptime Kuma (Monitoring)..."
sudo docker run -d \
--name uptime-kuma \
@ -495,7 +483,7 @@ sudo docker run -d \
-v ~/homelab/uptime-kuma:/app/data \
louislam/uptime-kuma:latest 2>/dev/null || log "✓ Uptime Kuma already running"
# Heimdall - Dashboard
# Heimdall - Dashboard for DevMatrix
log "📦 Setting up Heimdall (Dashboard)..."
sudo docker run -d \
--name heimdall \
@ -504,8 +492,8 @@ sudo docker run -d \
-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)..."
# Vaultwarden - Password Manager for OpenClaw credentials
log "📦 Setting up Vaultwarden (Password Manager for OpenClaw)..."
sudo docker run -d \
--name vaultwarden \
--restart=always \
@ -513,33 +501,27 @@ sudo docker run -d \
-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"
# Create Heimdall configuration with DevMatrix services
log "🗂️ Configuring Heimdall with DevMatrix services..."
sleep 5 # Wait for Heimdall to start
# 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"
mkdir -p ~/homelab/heimdall/www/SupportedApps
cat > ~/homelab/heimdall/www/supportedsapps.json << 'EOF'
[
{"name": "Portainer", "url": "http://192.168.5.210:9000", "icon": "portainer"},
{"name": "n8n", "url": "http://192.168.5.210:5678", "icon": "n8n"},
{"name": "Uptime Kuma", "url": "http://192.168.5.210:3001", "icon": "uptime-kuma"},
{"name": "Vaultwarden", "url": "http://192.168.5.210:8082", "icon": "bitwarden"},
{"name": "VS Code", "url": "http://192.168.5.210:8080", "icon": "vscode"},
{"name": "TrueNAS", "url": "http://192.168.5.195", "icon": "truenas"},
{"name": "Proxmox", "url": "https://192.168.5.200:8006", "icon": "proxmox"},
{"name": "Gitea", "url": "https://git.lemonlink.eu", "icon": "gitea"}
]
EOF
log "✓ Homelab tools installed!"
log "✓ Heimdall configured with DevMatrix services"
log "✓ DevMatrix homelab tools installed!"
# ============================================
# BASH ALIASES
@ -557,14 +539,12 @@ alias oc='openclaw'
alias ocs='openclaw sessions'
alias ocm='openclaw models'
# Homelab Aliases (NetworkChuck-inspired)
# DevMatrix Homelab Aliases
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'
@ -621,8 +601,6 @@ 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' ║"