#!/bin/bash # Install Cloudflare Tunnel and Verify Complete Setup # Run this on pve2 node set -e VMID=5000 TUNNEL_TOKEN="eyJhIjoiNTJhZDU3YTcxNjcxYzVmYzAwOWVkZjA3NDQ2NTgxOTYiLCJ0IjoiYjAyZmUxZmUtY2I3ZC00ODRlLTkwOWItN2NjNDEyOThlYmU4IiwicyI6Ik5HTmtOV0kwWXpNdFpUVmxaUzAwTVRFMkxXRXdNMk10WlRJNU1ETTFaRFF4TURBMiJ9" # Colors GREEN='\033[0;32m' BLUE='\033[0;34m' YELLOW='\033[1;33m' NC='\033[0m' log_info() { echo -e "${BLUE}[INFO]${NC} $1"; } log_success() { echo -e "${GREEN}[✓]${NC} $1"; } log_warn() { echo -e "${YELLOW}[⚠]${NC} $1"; } echo "" log_info "Installing Cloudflare Tunnel in container $VMID" echo "" # Check container CONTAINER_STATUS=$(pct status $VMID 2>/dev/null | awk '{print $2}' || echo "unknown") if [ "$CONTAINER_STATUS" != "running" ]; then log_info "Starting container..." pct start $VMID sleep 5 fi # Install cloudflared if needed if ! pct exec $VMID -- command -v cloudflared >/dev/null 2>&1; then log_info "Installing cloudflared..." pct exec $VMID -- bash -c "cd /tmp && wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb && dpkg -i cloudflared-linux-amd64.deb || apt install -f -y" fi # Install service log_info "Installing tunnel service..." pct exec $VMID -- cloudflared service install "$TUNNEL_TOKEN" 2>&1 # Start service log_info "Starting cloudflared service..." pct exec $VMID -- systemctl start cloudflared pct exec $VMID -- systemctl enable cloudflared sleep 5 # Check status log_info "Service status:" pct exec $VMID -- systemctl status cloudflared --no-pager -l | head -10 # Get tunnel info log_info "Tunnel information:" pct exec $VMID -- cloudflared tunnel list 2>&1 echo "" log_success "Tunnel service installed!" echo ""