Operador de Kubernetes que ejecuta y escala automáticamente runners autohospedados de GitHub Actions en contenedores efímeros.
kunchenguid/runner-up
Ejecuta GitHub Actions en tus propias máquinas Linux, Mac y Windows, con un contenedor, una VM o una cuenta nuevos para cada job.
Alternativa open source a:GitHub Actions hosted runners
- Estrellas
- 284
- Forks
- 21
- Issues abiertos
- 2
- Último commit
- anteayer
¿Qué es?
runner-up ejecuta jobs de GitHub Actions en máquinas que ya tienes, en lugar de usar los runners alojados de GitHub. Un coordinador se conecta a GitHub mediante runner scale sets, supervisa los jobs pendientes y asigna cada uno a un espacio libre en una de tus máquinas. Cada job obtiene un contenedor Docker o una máquina virtual KVM nuevos en Linux, un clon de tart o un invitado de Apple container nuevos en Mac, o una cuenta de Windows o una máquina virtual Hyper-V nuevos en Windows; ese entorno se elimina cuando termina el job. Los espacios también pueden ejecutar jobs directamente en el host.
El coordinador se conecta a cada máquina por SSH y solo necesita acceso SSH, no un clúster de Kubernetes. Lleva el control de los núcleos y la memoria de cada máquina, reserva recursos para su propietario y ordena los jobs pendientes según reglas configurables que se aplican a varios repositorios. De forma predeterminada, rechaza los pull requests de forks. Los jobs en ejecución sobreviven al reinicio del coordinador, y una máquina cuyo agente deja de estar accesible se pausa hasta que vuelve a responder.
El proyecto es reciente y documenta el estado de cada proveedor: Docker y KVM en Linux, así como los espacios tart y host en Mac, ya han ejecutado jobs reales; Hyper-V, Apple container y los espacios de cuentas de Windows figuran como experimentales. Depende de la API runner scale set de GitHub, que GitHub todavía etiqueta como versión preliminar.
Funciones clave
- 01Ejecuta cada job en un contenedor Docker, una VM KVM, un clon de tart o una cuenta de Windows nuevos, que se eliminan al terminar.
- 02Se conecta a las máquinas por SSH, sin necesidad de un clúster de Kubernetes.
- 03Divide los núcleos y la memoria de cada máquina en espacios y reserva recursos para su propietario.
- 04Ordena los jobs pendientes de varios repositorios mediante reglas configurables.
- 05De forma predeterminada, rechaza los jobs de pull requests de forks.
- 06Mantiene los jobs en ejecución tras reiniciar el coordinador.
Casos de uso
- Sustituir los minutos de runners alojados de pago de GitHub por máquinas Linux o Mac disponibles.
- Ejecutar jobs de compilación y firma de macOS en un Mac que ya tienes.
- Ejecutar jobs de CI en PC inactivos de la oficina o de casa sin administrar un clúster de Kubernetes.
- Proporcionar a cada job de CI un entorno aislado en tu propio hardware.
Inicio rápido
- 1
Instala runner-up con Go
go install github.com/kunchenguid/runner-up@latest - 2
Elige el repositorio que se va a servir y la etiqueta del pool de Linux
runner-up init --repo you/app --pool my-linux - 3
Añade una máquina accesible por SSH
runner-up machine add box --ssh ci@box - 4
Comprueba la configuración e inicia el coordinator
runner-up check-config && runner-up serve
Antes de usarlo
- El coordinator solo se ejecuta en Linux y macOS, no en Windows.
- Runner scale sets aún está en vista previa por parte de GitHub, por lo que los cambios que hagan allí pueden romper su funcionamiento.
- Hyper-V, Apple container, Windows account, borrowing y draining son funciones experimentales y pueden cambiar entre versiones.
- El proyecto es reciente y algunos proveedores todavía no han ejecutado trabajos reales.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es runner-up?
- Ejecuta GitHub Actions en tus propias máquinas Linux, Mac y Windows, con un contenedor, una VM o una cuenta nuevos para cada job. runner-up ejecuta jobs de GitHub Actions en máquinas que ya tienes, en lugar de usar los runners alojados de GitHub. Un coordinador se conecta a GitHub mediante runner scale sets, supervisa los jobs pendientes y asigna cada uno a un espacio libre en una de tus máquinas. Cada job obtiene un contenedor Docker o una máquina virtual KVM nuevos en Linux, un clon de tart o un invitado de Apple container nuevos en Mac, o una cuenta de Windows o una máquina virtual Hyper-V nuevos en Windows; ese entorno se elimina cuando termina el job. Los espacios también pueden ejecutar jobs directamente en el host.
- ¿runner-up es gratuito? ¿Qué licencia tiene?
- runner-up es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿runner-up sigue mantenido?
- Mantenimiento activo. El último commit de runner-up fue el 6 nov 2026.
- ¿Para qué puedo usar runner-up?
- Sustituir los minutos de runners alojados de pago de GitHub por máquinas Linux o Mac disponibles. Ejecutar jobs de compilación y firma de macOS en un Mac que ya tienes. Ejecutar jobs de CI en PC inactivos de la oficina o de casa sin administrar un clúster de Kubernetes. Proporcionar a cada job de CI un entorno aislado en tu propio hardware.
- ¿Cómo se instala runner-up?
- Instala runner-up con Go: go install github.com/kunchenguid/runner-up@latest Elige el repositorio que se va a servir y la etiqueta del pool de Linux: runner-up init --repo you/app --pool my-linux Añade una máquina accesible por SSH: runner-up machine add box --ssh ci@box Comprueba la configuración e inicia el coordinator: runner-up check-config && runner-up serve
- ¿Dónde consigo runner-up?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/kunchenguid/runner-up
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Ejecuta Windows dentro de un contenedor Docker, lo descarga e instala automáticamente y permite acceder mediante un navegador o RDP.
Un wrapper de QEMU que descarga automáticamente imágenes de sistemas operativos e inicia máquinas virtuales optimizadas de Windows, macOS y Linux.
App de CI para macOS autohospedada en Apple Silicon que ejecuta máquinas virtuales efímeras para GitHub Actions, Buildkite, GitLab Runner o scripts personalizados.
Aplicación de Electron que ejecuta aplicaciones de Windows en Linux dentro de un contenedor Docker o Podman y las muestra como ventanas nativas del escritorio Linux.
Un monitor de máquinas virtuales minimalista basado en KVM que ejecuta microVM ligeras para cargas de trabajo seguras de serverless y contenedores en entornos multiinquilino.