Skip to content

Cómo Configurar un GitHub Runner Autohospedado

Requisitos para iniciar nuestro propio runner de GitHub:

  • Token PAT
  • Nombre de la organización
  • Contenedor con el runner de GitHub
  • Host Docker

Vamos a configurarlo paso a paso. Para el contenedor con el runner de GitHub utilizaremos github-runner.

Obtener el token PAT

  1. Ve a la página de Tokens de Acceso Personal y haz clic en Generar nuevo token. pat_1
  2. Ingresa el Nombre del token, selecciona el Propietario del recurso (nombre de tu organización) y Expiración (por razones de seguridad, es mejor no usar tiempo ilimitado). pat_2
  3. Haz clic en la flecha en el lado derecho de Permisos de la organización. pat_3
  4. Selecciona Acceso: Leer y escribir para Runners autohospedados. pat_4
  5. Ahora haz clic en Generar token. pat_5
  6. Copia el token generado (comienza con github_pat_...) en un lugar seguro.

Obtener el nombre de la organización

Soy el propietario de múltiples organizaciones. Por ejemplo, usaré un runner autohospedado para la organización fasthelp-ai. org_1

Iniciando nuestro runner

Probablemente necesitemos cambiar los derechos para docker.sock, porque nuestro runner necesitará acceso a docker.sock. Es posible hacerlo a través de este comando en la terminal. En el caso de debian/ubuntu:

shell
sudo chmod 666 /var/run/docker.sock

Opción 1. Un comando de Docker

Ahora podemos usar nuestro token PAT, nombre de la organización y nombre opcional.

shell
docker run --rm \
  -e ORG=fasthelp-ai \
  -e ACCESS_TOKEN=github_pat_... \
  -e NAME=hetzner-1 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  ghcr.io/romnovi/github-runner:main

Opción 2. Docker compose

shell
services:
  runner:
    image: ghcr.io/romnovi/github-runner:main
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - ORG=fasthelp-ai
      - ACCESS_TOKEN=github_pat_...
      - NAME=hetzner-1

Comprobación

Después de iniciar el runner, podemos verificar su estado en la página de configuración de la organización: Actions -> Runners. check_1