docs: documentacion extensiva de infraestructura CAS - Junio 2026

- README principal actualizado con indice completo
- Documentacion detallada de 4 servidores fisicos
- Topologia de red completa con diagramas ASCII
- Asignacion de IPs y conflictos identificados
- Documentacion DNS para 3 dominios
- Servicios: Caddy, Jellyfin Stack, Multimedia
- Proyectos: Afterlife, Nexus, Horux
- Seguridad: politica y riesgos identificados
- Automatizacion: n8n workflows y scripts
- Scripts utilitarios: backup, update-dns, check-ip
- Roadmap 2026 Q2-Q4
- Documentacion Hermes AI server (actualizada)
This commit is contained in:
Orquestrador CAS
2026-06-09 07:53:16 +00:00
parent 8ae5336fbf
commit 62047f660f
18 changed files with 2190 additions and 340 deletions

26
scripts/backup-vms.sh Executable file
View File

@@ -0,0 +1,26 @@
#!/bin/bash
# Script de backup para VMs Proxmox
# Uso: ./backup-vms.sh [storage]
STORAGE=${1:-"/mnt/pve/Multimedia/backup"}
DATE=$(date +%Y%m%d_%H%M%S)
LOG="/var/log/proxmox-backup-${DATE}.log"
# VMs a respaldar
VMS=(100 102 104 105 106 108 109 110 111 112)
mkdir -p "$STORAGE"
echo "Iniciando backup: $DATE" | tee -a "$LOG"
for VM in "${VMS[@]}"; do
echo "Backup VM $VM..." | tee -a "$LOG"
vzdump "$VM" --dumpdir "$STORAGE" --mode snapshot --compress zstd 2>&1 | tee -a "$LOG"
if [ $? -eq 0 ]; then
echo "✅ VM $VM backup OK" | tee -a "$LOG"
else
echo "❌ VM $VM backup FAILED" | tee -a "$LOG"
fi
done
echo "Backup completado: $(date)" | tee -a "$LOG"

17
scripts/check-ip.sh Executable file
View File

@@ -0,0 +1,17 @@
#!/bin/bash
# Script para monitorear cambios de IP pública y notificar
LAST_IP_FILE="/var/run/last_public_ip"
CURRENT_IP=$(curl -s https://api.ipify.org)
if [ -f "$LAST_IP_FILE" ]; then
LAST_IP=$(cat "$LAST_IP_FILE")
if [ "$CURRENT_IP" != "$LAST_IP" ]; then
echo "IP cambiada: $LAST_IP -> $CURRENT_IP"
# Notificar vía n8n webhook, telegram, etc.
# curl -X POST https://n8n.consultoria-as.com/webhook/ip-change ...
echo "$CURRENT_IP" > "$LAST_IP_FILE"
fi
else
echo "$CURRENT_IP" > "$LAST_IP_FILE"
fi

26
scripts/update-dns.sh Executable file
View File

@@ -0,0 +1,26 @@
#!/bin/bash
# Script para actualizar DNS en Cloudflare cuando cambia la IP pública
# Requiere: CF_API_TOKEN, CF_ZONE_ID
CF_API_TOKEN="tu_token_aqui"
CF_ZONE_ID="tu_zone_id_aqui"
DOMAINS=("jellyfin" "immich" "odoo" "n8n" "git" "status")
CURRENT_IP=$(curl -s https://api.ipify.org)
echo "IP actual: $CURRENT_IP"
for DOMAIN in "${DOMAINS[@]}"; do
# Obtener record ID
RECORD_ID=$(curl -s -X GET "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records?name=${DOMAIN}.consultoria-as.com" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" | jq -r '.result[0].id')
# Actualizar
curl -s -X PUT "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/dns_records/$RECORD_ID" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" \
--data "{\"type\":\"A\",\"name\":\"${DOMAIN}\",\"content\":\"$CURRENT_IP\",\"ttl\":120,\"proxied\":true}"
echo "Actualizado: ${DOMAIN}.consultoria-as.com -> $CURRENT_IP"
done