feat: Add n8n and NetworkChuck-inspired homelab tools
This commit is contained in:
parent
da3dbff1c2
commit
b4f344d355
|
|
@ -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 ║"
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue