Infra
Sistema de Infraestructura como Código para homelab y dispositivos remotos, con arquitectura basada en Kubernetes y Docker Compose.
Ficha actualizada 22 sept 2026, 22:55 · upstream 22 sept 2026, 22:21 · release sin release detectada
Qué es Infra
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Infra es un sistema de IaC (Infrastructure as Code) diseñado para automatizar la configuración de infraestructura local. La arquitectura se basa en una red de nodos: vps0 actúa como servidor público que ejecuta servicios web a través de Docker Compose, srv0 es un servidor home con Kubernetes (K3s) para servicios personales como Immich, bigpc funciona como nodo GPU para Ollama y pc sincroniza archivos mediante Syncthing. El sistema utiliza autenticación centralizada con Authelia, protección contra amenazas con CrowdSec, mTLS para el túnel FRP entre nodos, y un honeypot Opencanary para detectar intrusiones.
- Automatizar la configuración de servicios web en servidores remotos mediante Docker Compose
- Ejecutar aplicaciones personalizadas como Immich (fotos) a través de Kubernetes K3s
- Procesar y ejecutar modelos de lenguaje con Ollama en un nodo GPU dedicado
- Sincronización de archivos entre dispositivos con Syncthing vía Docker Compose
- Monitoreo continuo del estado de servicios mediante Alloy, Loki y Grafana
- Detección proactiva de intrusiones a través de un honeypot Opencanary
- Arquitectura modular con separación clara entre componentes: vps0 (servicios públicos), srv0 (Kubernetes K3s) y bigpc (GPU para Ollama)
- Uso de mTLS para proteger el túnel FRP entre nodos, evitando ataques MITM
- Autenticación centralizada con Authelia en todos los servicios que requieren identidad
- Principio de mínimo privilegio aplicado a contenedores mediante CDI en lugar de privileged: true
- Monitoreo completo con Alloy + Loki + Grafana para observabilidad unificada
- El sistema depende de herramientas externas como Authelia, CrowdSec y Renovate que deben mantenerse actualizadas manualmente
- La sincronización mediante Syncthing puede ser ineficiente en entornos con muchas conexiones simultáneas
- Los nodos Kubernetes requieren configuración manual del nodo worker (bigpc) para GPU-accelerated workloads
- El sistema no incluye un controlador de versiones centralizado, por lo que las actualizaciones deben aplicarse manualmente
- La seguridad depende de la correcta implementación de políticas de red y mTLS en cada componente
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.
Para desplegar k3s: desbloquear el kubeconfig con scripts/kubeconfig-unlock.sh, luego ejecutar helm upgrade para srv0-base y srv0-apps. Para Docker Compose: copiar config/<target>/compose.env a la carpeta correspondiente y ejecutar docker compose up -d --remove-orphans. Se recomienda usar renovate.sh para detectar actualizaciones de dependencias antes de aplicar cambios en producción.
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.