Initial infrastructure documentation - comprehensive homelab reference
This commit is contained in:
75
gather-container-info.sh
Normal file
75
gather-container-info.sh
Normal file
@@ -0,0 +1,75 @@
|
||||
#!/bin/bash
|
||||
# Gather information about all undocumented containers on main-pve
|
||||
|
||||
echo "=== Container Information Gathering ==="
|
||||
echo ""
|
||||
|
||||
# List of undocumented containers
|
||||
CONTAINERS="103 105 108 109 113 114 115 200"
|
||||
VM="110"
|
||||
|
||||
ssh root@10.0.10.3 << 'EOF'
|
||||
echo "VMs:"
|
||||
echo "===="
|
||||
echo ""
|
||||
|
||||
# VM 110
|
||||
echo "VM 110 (debian):"
|
||||
qm config 110 | grep -E "^(cores|memory|net0|bootdisk):"
|
||||
echo ""
|
||||
|
||||
echo "Containers:"
|
||||
echo "==========="
|
||||
echo ""
|
||||
|
||||
for CT in 103 105 108 109 113 114 115 200; do
|
||||
echo "CT $CT:"
|
||||
|
||||
# Get container name
|
||||
NAME=$(pct config $CT | grep "^hostname:" | awk '{print $2}')
|
||||
echo " Name: $NAME"
|
||||
|
||||
# Get IP address
|
||||
IP=$(pct config $CT | grep "^net0:" | grep -oP 'ip=\K[^,]+' || echo "DHCP")
|
||||
echo " IP: $IP"
|
||||
|
||||
# Get resources
|
||||
CORES=$(pct config $CT | grep "^cores:" | awk '{print $2}')
|
||||
MEM=$(pct config $CT | grep "^memory:" | awk '{print $2}')
|
||||
echo " Resources: ${CORES} cores, ${MEM}MB RAM"
|
||||
|
||||
# Check if running
|
||||
STATUS=$(pct status $CT | awk '{print $2}')
|
||||
echo " Status: $STATUS"
|
||||
|
||||
# Try to get running processes if container is running
|
||||
if [ "$STATUS" = "running" ]; then
|
||||
echo " Top processes:"
|
||||
pct exec $CT -- ps aux --sort=-%mem | head -6 | tail -5 | awk '{printf " - %s (PID %s, MEM %s%%)\n", $11, $2, $4}'
|
||||
|
||||
# Check for Docker
|
||||
if pct exec $CT -- which docker >/dev/null 2>&1; then
|
||||
echo " Docker containers:"
|
||||
pct exec $CT -- docker ps --format " - {{.Names}} ({{.Image}})" 2>/dev/null || echo " (Docker installed but no containers)"
|
||||
fi
|
||||
|
||||
# Check listening ports
|
||||
echo " Listening ports:"
|
||||
pct exec $CT -- ss -tlnp 2>/dev/null | grep LISTEN | awk '{print " - " $4}' | head -5
|
||||
fi
|
||||
|
||||
echo ""
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "=== Quick Summary ==="
|
||||
echo ""
|
||||
echo "Undocumented containers:"
|
||||
for CT in 103 105 108 109 113 114 115 200; do
|
||||
NAME=$(pct config $CT | grep "^hostname:" | awk '{print $2}')
|
||||
IP=$(pct config $CT | grep "^net0:" | grep -oP 'ip=\K[^,]+' || echo "DHCP")
|
||||
STATUS=$(pct status $CT | awk '{print $2}')
|
||||
printf "CT %3d: %-20s %-15s %s\n" $CT "$NAME" "$IP" "$STATUS"
|
||||
done
|
||||
|
||||
EOF
|
||||
Reference in New Issue
Block a user