Skip to content

vvv-bash-v2/RebirthNode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🏠 RebirthNode - Homelab Dual β€” Infraestructura Self-Hosted Completa

License: MIT Docker Debian Tailscale

Infraestructura homelab completa con dos servidores fΓ­sicos, monitorizaciΓ³n centralizada, alertas en tiempo real vΓ­a Telegram, red VPN mesh privada y DNS redundante. Todo sobre hardware antiguo con Docker.


πŸ“‹ Índice


🌟 Características

  • πŸ›‘οΈ DNS redundante β€” AdGuard Home (primario) + Pi-hole (secundario)
  • πŸ“Š MonitorizaciΓ³n completa β€” Prometheus + Grafana para 3 equipos (2x Linux + 1x Windows)
  • 🚨 Alertas proactivas β€” 9 reglas de alerta vΓ­a Telegram con formato enriquecido
  • πŸ” Acceso seguro β€” Tailscale VPN mesh, sin puertos abiertos en el router
  • πŸ”‘ ContraseΓ±as self-hosted β€” Vaultwarden (compatible con Bitwarden)
  • πŸ“± Notificaciones push β€” ntfy sin dependencias externas
  • ⚑ AutomatizaciΓ³n β€” n8n como intermediario inteligente de notificaciones
  • πŸ” SincronizaciΓ³n β€” Syncthing mantiene backup continuo entre servidores
  • πŸ”„ Actualizaciones automΓ‘ticas β€” Watchtower actualiza imΓ‘genes cada noche
  • 🏠 Dashboard unificado β€” Homarr con widgets de AdGuard, Grafana y estado de servicios

πŸ—ΊοΈ Arquitectura

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                        RED LOCAL (LAN)                           β”‚
β”‚                                                                   β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”‚
β”‚  β”‚   πŸ–₯️ HOMELAB PRINCIPAL   β”‚    β”‚  πŸ–§ HOMELAB SECUNDARIO   β”‚     β”‚
β”‚  β”‚   (Linux / ~4GB RAM)    │◄──►│  (Linux / ~2GB RAM)     β”‚     β”‚
β”‚  β”‚                         β”‚    β”‚                         β”‚     β”‚
β”‚  β”‚  πŸ›‘οΈ AdGuard Home  :53   β”‚    β”‚  πŸ•³οΈ Pi-hole       :53   β”‚     β”‚
β”‚  β”‚  πŸ“ˆ Grafana       :3000  β”‚    β”‚  πŸ“Š Netdata       :19999β”‚     β”‚
β”‚  β”‚  πŸ“‘ Prometheus    :9090  │◄───│  πŸ“€ Node Exporter :9100 β”‚     β”‚
β”‚  β”‚  πŸ‘οΈ Uptime Kuma   :3001  β”‚    β”‚  πŸ’¨ Blocky        :5353 β”‚     β”‚
β”‚  β”‚  πŸ”€ NPM           :81   β”‚    β”‚  πŸ” Syncthing     :8384 β”‚     β”‚
β”‚  β”‚  πŸ” Vaultwarden   :8082  │◄──►│  🌐 Tailscale           β”‚     β”‚
β”‚  β”‚  πŸ“± ntfy          :8083  β”‚    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β”‚
β”‚  β”‚  ⚑ n8n           :5678  β”‚                                      β”‚
β”‚  β”‚  πŸ”„ Watchtower           β”‚    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”‚
β”‚  β”‚  🏠 Homarr        :7575  β”‚    β”‚     πŸͺŸ PC WINDOWS 11     β”‚     β”‚
β”‚  β”‚  🌐 Tailscale            │◄───│  πŸ“€ Win Exporter  :9182 β”‚     β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                               β”‚
              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
              β”‚    🌐 TAILSCALE VPN MESH            β”‚
              β”‚   Acceso remoto seguro              β”‚
              └────────────────┬──────────────────-β”˜
                               β”‚
              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
              β”‚     ✈️ TELEGRAM BOT                β”‚
              β”‚   Alertas vΓ­a n8n                  β”‚
              β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ”„ Flujo de alertas

Prometheus β†’ Grafana β†’ Webhook β†’ n8n β†’ ntfy + Telegram
Uptime Kuma β†’ Webhook β†’ n8n β†’ Telegram

🌐 Flujo DNS

Router
  β”œβ”€β”€ DNS Primario  β†’ AdGuard Home (Homelab Principal)
  └── DNS Secundario β†’ Pi-hole (Homelab Secundario)

AdGuard Home β†’ Pi-hole β†’ Cloudflare (fallback)
Pi-hole β†’ AdGuard Home β†’ Cloudflare (fallback)

πŸ’» Hardware utilizado

Componente Homelab Principal Homelab Secundario
CPU Intel i3 (antigua gen.) Intel Core 2 Duo
RAM 4 GB DDR3 2 GB DDR2
SO Debian 12 Debian 12 Minimal
Rol Servicios centrales Servicios de respaldo

πŸ’‘ Todo el stack funciona sobre hardware antiguo y de bajo coste.


πŸš€ Inicio rΓ‘pido

Requisitos previos

  • Debian 12 instalado en ambos servidores
  • Acceso SSH
  • Cuenta en Tailscale (gratuita)
  • Bot de Telegram creado vΓ­a @BotFather

1. Clonar el repositorio

git clone https://github.com/TU-USUARIO/homelab-dual.git
cd homelab-dual

2. Instalar Docker

curl -fsSL https://get.docker.com | sh
usermod -aG docker $USER
newgrp docker

3. Configurar el homelab principal

# Copiar configuraciΓ³n
cp -r config/homelab-principal ~/homelab

# Editar variables (sustituir todos los TU_* por valores reales)
nano ~/homelab/docker-compose.yml
nano ~/homelab/prometheus/prometheus.yml

# Crear carpetas y ajustar permisos
mkdir -p ~/homelab/grafana/data
chown -R 472:472 ~/homelab/grafana/data
chown -R 1000:1000 ~/homelab/syncthing/

# Levantar el stack
cd ~/homelab
docker compose up -d
docker compose ps

4. Configurar el homelab secundario

cp -r config/homelab-secundario ~/homelab
nano ~/homelab/docker-compose.yml
nano ~/homelab/blocky/config.yml
cd ~/homelab
docker compose up -d

5. Instalar Tailscale en ambos servidores

curl -fsSL https://tailscale.com/install.sh | sh
tailscale up

6. Verificar

# Todos los targets deben estar UP
curl http://TU-IP:9090/targets

# Ver estado de contenedores
docker compose ps

πŸ“ Estructura del repositorio

homelab-dual/
β”œβ”€β”€ πŸ“„ README.md                          ← Este archivo
β”œβ”€β”€ πŸ“„ .gitignore                         ← Excluye credenciales y datos
β”œβ”€β”€ πŸ“„ .env.example                       ← Plantilla de variables de entorno
β”‚
β”œβ”€β”€ πŸ“ config/
β”‚   β”œβ”€β”€ πŸ“ homelab-principal/
β”‚   β”‚   β”œβ”€β”€ πŸ“„ docker-compose.yml         ← Stack completo del principal
β”‚   β”‚   └── πŸ“ prometheus/
β”‚   β”‚       └── πŸ“„ prometheus.yml         ← ConfiguraciΓ³n de scraping
β”‚   β”‚
β”‚   └── πŸ“ homelab-secundario/
β”‚       β”œβ”€β”€ πŸ“„ docker-compose.yml         ← Stack del secundario
β”‚       └── πŸ“ blocky/
β”‚           └── πŸ“„ config.yml             ← ConfiguraciΓ³n de Blocky
β”‚
β”œβ”€β”€ πŸ“ scripts/
β”‚   β”œβ”€β”€ πŸ“„ setup.sh                       ← Script de instalaciΓ³n automatizada
β”‚   β”œβ”€β”€ πŸ“„ backup.sh                      ← Script de backup diario
β”‚   └── πŸ“„ renew-certs.sh                 ← RenovaciΓ³n de certificados SSL
β”‚
β”œβ”€β”€ πŸ“ docs/
β”‚   β”œβ”€β”€ πŸ“„ guia-completa.md               ← DocumentaciΓ³n completa (Markdown)
β”‚   β”œβ”€β”€ πŸ“„ alertas-grafana.md             ← Referencia de reglas de alerta
β”‚   β”œβ”€β”€ πŸ“„ resolucion-problemas.md        ← Troubleshooting exhaustivo
β”‚   └── πŸ“„ puertos-referencia.md          ← Tabla de todos los puertos
β”‚
└── πŸ“ .github/
    └── πŸ“„ ISSUE_TEMPLATE.md              ← Plantilla para reportar issues

πŸ“š DocumentaciΓ³n

Documento DescripciΓ³n
GuΓ­a completa InstalaciΓ³n y configuraciΓ³n paso a paso
Alertas de Grafana Las 9 reglas de alerta con queries PromQL
ResoluciΓ³n de problemas Errores frecuentes y soluciones
Referencia de puertos Tabla de todos los servicios y puertos

πŸ”§ Variables de entorno

Copiar .env.example a .env y rellenar los valores:

cp .env.example .env
nano .env

⚠️ NUNCA subir el archivo .env con valores reales a Git. EstÑ incluido en .gitignore.


🀝 Contribuir

Las contribuciones son bienvenidas. Por favor:

  1. Haz fork del repositorio
  2. Crea una rama: git checkout -b feature/mi-mejora
  3. Haz commit: git commit -m 'feat: aΓ±adir mi mejora'
  4. Haz push: git push origin feature/mi-mejora
  5. Abre un Pull Request

πŸ“„ Licencia

Este proyecto estΓ‘ bajo la licencia MIT. Ver LICENSE para mΓ‘s detalles.


Construido sobre hardware antiguo. Documentado con detalle. Probado en producciΓ³n.

About

Infraestructura homelab dual con Docker, Grafana, AdGuard, Pi-hole y Tailscale

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages