vps-git
Solución HA para Forgejo con replicación streaming PostgreSQL, failover automático y despliegue Ansible detrás de Cloudflare Tunnel. Arquitectura primaria/standby con watchdog local.
Ficha actualizada 26 sept 2026, 19:55 · upstream 26 sept 2026, 19:47 · release v1.0.0
Qué es vps-git
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Este repositorio implementa una instancia auto-alojada de Forgejo configurada para alta disponibilidad mediante arquitectura primaria/standby con replicación streaming de PostgreSQL y recuperación sin tiempo de inactividad. El despliegue se gestiona completamente a través de Ansible, eliminando la necesidad de configuración manual del panel web. La arquitectura incluye un nodo primario que ejecuta el stack completo (Postgres, Forgejo, cloudflared) y un nodo standby que actúa como réplica caliente con PostgreSQL en modo streaming.
El sistema cuenta con un watchdog local o externo que monitorea la salud del nodo primario mediante Uptime Kuma. En caso de fallos sostenidos, el watchdog promueve automáticamente el standby a primario mediante playbooks Ansible específicos (promote.yml), eliminando `standby.signal` y restaurando datos desde backup lateral antes de iniciar el stack completo. Cloudflare Tunnel enruta el tráfico al nuevo primario en segundos sin interrupción del servicio.
La solución incluye componentes adicionales como un sidecar de backup que ejecuta pg_dump y rsync para sincronizar datos entre nodos, y una configuración de red privada (NetBird/WireGuard) para comunicación segura entre instancias. El despliegue soporta tanto Docker Compose con perfiles como ejecución directa mediante Ansible roles predefinidos en stack/ y ansible/.
- Despliegue HA de Forgejo sin tiempo de inactividad para repositorios corporativos
- Migración transparente de GitHub a infraestructura auto-alojada con failover automático
- Monitorización continua de salud de servicios Git con dashboard protegido (Uptime Kuma)
- Recuperación ante desastres mediante promoción automática de réplica caliente
- Failover automático en segundos tras 3 fallos consecutivos detectados por watchdog
- Replicación streaming PostgreSQL con RPO cercano a cero y rsync para Forgejo
- Despliegue idempotente vía Ansible con roles separados (deploy, promote, demote)
- Cloudflare Tunnel integrado para acceso seguro sin exposición de IPs directas
- Requiere dos VPS con conectividad de red privada entre ellos (NetBird/WireGuard)
- El watchdog necesita una máquina adicional o ejecución local fuera de los VPS
- Failback manual requiere wipe del nodo antiguo y reconfiguración como standby
- No incluye Dockerfile ni Docker Compose nativo en root, depende de stack/
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Requiere Debian 12/Ubuntu 24.04 con Docker instalado en dos VPS. Configurar red privada (NetBird/WireGuard) antes del despliegue. Generar credenciales Cloudflare Tunnel y guardar en JSON. Ejecutar ansible-playbook deploy.yml en primary y standby. Desplegar watchdog en máquina externa o local para monitorización continua. Verificar replicación con pg_stat_replication.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.