#!/bin/bash echo "======================================" echo " SERVER INFORMATION FOR TRAEFIK SETUP" echo "======================================" echo "" # Sistema Operativo echo "## SISTEMA OPERATIVO" echo "---" uname -a echo "" if [ -f /etc/os-release ]; then cat /etc/os-release fi echo "" # Docker echo "## DOCKER" echo "---" if command -v docker &> /dev/null; then echo "Docker instalado: SÍ" docker --version echo "" echo "Docker daemon status:" systemctl is-active docker 2>/dev/null || echo "No se puede verificar status (puede requerir sudo)" echo "" echo "Contenedores corriendo:" docker ps --format "table {{.Names}}\t{{.Image}}\t{{.Ports}}" 2>/dev/null || echo "No se puede listar (puede requerir sudo)" else echo "Docker instalado: NO" fi echo "" # Docker Compose echo "## DOCKER COMPOSE" echo "---" if command -v docker-compose &> /dev/null; then echo "Docker Compose instalado: SÍ" docker-compose --version elif docker compose version &> /dev/null; then echo "Docker Compose (plugin) instalado: SÍ" docker compose version else echo "Docker Compose instalado: NO" fi echo "" # Puertos ocupados echo "## PUERTOS CRÍTICOS" echo "---" echo "Verificando puertos 80, 443, 8080..." for port in 80 443 8080; do if command -v ss &> /dev/null; then result=$(ss -tuln | grep ":$port " 2>/dev/null) else result=$(netstat -tuln 2>/dev/null | grep ":$port ") fi if [ -n "$result" ]; then echo "Puerto $port: OCUPADO" echo "$result" else echo "Puerto $port: LIBRE" fi done echo "" # Servicios web corriendo echo "## SERVICIOS WEB DETECTADOS" echo "---" if command -v systemctl &> /dev/null; then for service in nginx apache2 httpd caddy; do if systemctl list-unit-files | grep -q "^$service.service"; then status=$(systemctl is-active $service 2>/dev/null) echo "$service: $status" fi done else echo "systemctl no disponible" fi echo "" # Recursos del servidor echo "## RECURSOS DEL SERVIDOR" echo "---" echo "CPU:" grep -m1 "model name" /proc/cpuinfo 2>/dev/null || echo "No disponible" echo "Cores: $(nproc 2>/dev/null || echo 'N/A')" echo "" echo "Memoria:" free -h 2>/dev/null || echo "No disponible" echo "" echo "Disco:" df -h / 2>/dev/null || echo "No disponible" echo "" # Networking echo "## NETWORKING" echo "---" echo "IPs del servidor:" if command -v ip &> /dev/null; then ip -4 addr show | grep inet | awk '{print $2}' | grep -v "127.0.0.1" else ifconfig 2>/dev/null | grep "inet " | awk '{print $2}' | grep -v "127.0.0.1" fi echo "" echo "Hostname:" hostname echo "" # Dominios/DNS echo "## DOMINIOS CONFIGURADOS (si existen)" echo "---" if [ -f /etc/hosts ]; then echo "Entradas relevantes en /etc/hosts:" grep -v "^#" /etc/hosts | grep -v "127.0.0.1.*localhost" | grep -v "::1" | grep -v "^$" fi echo "" # Docker networks echo "## DOCKER NETWORKS" echo "---" if command -v docker &> /dev/null; then docker network ls 2>/dev/null || echo "No se puede listar (puede requerir sudo)" else echo "Docker no disponible" fi echo "" # Directorio actual y permisos echo "## INFORMACIÓN DEL DIRECTORIO" echo "---" echo "Directorio actual: $(pwd)" echo "Usuario actual: $(whoami)" echo "Permisos:" ls -la $(pwd) 2>/dev/null | head -10 echo "" # Variables de entorno relevantes echo "## VARIABLES DE ENTORNO RELEVANTES" echo "---" echo "HOME: $HOME" echo "USER: $USER" echo "PATH: $PATH" echo "" echo "======================================" echo " FIN DEL REPORTE" echo "======================================"