Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

zoomies

Zoomies es un controlador ligero y auto-alojado para flotas de runners de GitHub Actions. Utiliza una arquitectura basada en Go y SQLite, sin Kubernetes, ofreciendo una interfaz web en tiempo real, escalado automático mediante webhooks y soporte para runners efímeros por defecto.

Ficha actualizada 22 sept 2026, 14:52 · upstream 22 sept 2026, 14:38 · release v1.3.0

Ver códigoProblemas y ayudaRepositorio ↗Sitio oficial
00

Qué es zoomies

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

Zoomies es un controlador de flotas de runners de GitHub Actions diseñado para ser ligero y auto-alojado. Su arquitectura se basa en un único binario Go y una base de datos SQLite, eliminando la necesidad de Kubernetes o servidores de bases de datos externos. Proporciona una interfaz web en tiempo real que permite gestionar cada runner desde un panel centralizado, con actualizaciones instantáneas del estado de las tareas sin necesidad de recargar la página.

El sistema implementa runners efímeros por defecto, creando un entorno aislado para cada trabajo y destruyéndolo tras su finalización. Esto garantiza que no haya fugas de datos entre ejecuciones de workflows. La autenticación se realiza mediante una GitHub App, eliminando la necesidad de gestionar tokens secretos estáticos manualmente. Además, soporta conexiones privadas a través de Tailcat, permitiendo conectar máquinas internas sin exponerlas públicamente ni configurar túneles complejos.

La observabilidad es robusta, integrando métricas Prometheus, logs estructurados y un visor de logs en vivo capaz de manejar grandes volúmenes de datos. El sistema incluye mecanismos de respaldo automáticos a S3 compatibles, con cifrado y verificación de integridad. La seguridad está configurada por defecto con bindings en loopback, sin acceso al socket Docker desde los jobs y ejecución como usuario no root.

CASOS DE USO
  • Implementación de entornos CI/CD efímeros para pruebas aisladas sin contaminación entre trabajos.
  • Gestión de flotas de runners en entornos domésticos o home lab utilizando hardware propio.
  • Escalado elástico de recursos CPU dinámico entre múltiples hosts sin sobrecargarlos.
  • Despliegue de runners en máquinas detrás de NAT o firewalls estrictos mediante conexión outbound.
PUNTOS DESTACADOS
  • Autenticación segura vía GitHub App con tokens JIT (Just-in-Time) y sin tokens estáticos expuestos.
  • Interfaz web en tiempo real con visualización de métricas, logs estructurados y estado de la flota.
  • Soporte nativo para conexión privada mediante Tailcat sin necesidad de IP pública o túneles.
  • Backups automáticos a S3 compatibles con cifrado y verificación de integridad del almacén de datos.
  • Arquitectura ligera basada en Go y SQLite, sin dependencias pesadas como Kubernetes.
  • Seguridad por defecto: ejecución como usuario no root, sin socket Docker en jobs y bindings en loopback.
PRECAUCIONES
  • Requiere configuración manual de variables de entorno críticas (ZOOMIES_EXTERNAL_URL, ZOOMIES_ENCRYPTION_KEY) para despliegue con Docker Compose.
  • No soporta instalación un clic automática; el proceso de inicialización requiere interacción o archivo de respuestas.
  • La base de datos SQLite reside en un volumen que debe ser gestionado manualmente para copias de seguridad.
  • Algunas versiones de Ubuntu (22.04) solo soportan arquitectura amd64, limitando despliegues en arm64.
  • El sistema depende de webhooks de GitHub; si estos fallan, el escalado automático se detiene hasta que se restablecen.
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU4 vCPUrecomendación inicial
MEMORIA4 GBRAM estimada
DISCO10 GBalmacenamiento base
COMPLEJIDADhighnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Docker Compose detectado

Recomendado detrás de un proxy inverso (Cloudflare o similar) para habilitar TLS y manejar webhooks correctamente. Configurar ZOOMIES_EXTERNAL_URL con HTTPS y ZOOMIES_TRUSTED_PROXIES si se usa Cloudflare. Asegurar que el grupo DOCKER_GID coincida con el propietario del socket Docker (/var/run/docker.sock). Para despliegues sin Docker, usar backend rootless o Podman. Inicializar la primera cuenta de administrador mediante la interfaz web tras la instalación.

✓Dockerfile
✓Compose
—One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Next.jsNode.jsGoPython
SERVICIOS
S3/MinIO
BASES DE DATOS
No detectadas
PUERTOS
80008080
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

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.