Sign inSign up

williancavalcante/runner-github-arch

By williancavalcante

•Updated 4 months ago

GitHub Actions runner on Arch Linux (rolling release). Minimal deps, Docker-out-of-Docker ready.

Image
Integration & delivery
Operating systems
0

178

williancavalcante/runner-github-arch repository overview

⁠williancavalcante/runner-github-arch

GitHub Actions self-hosted runner baseado em Arch Linux (rolling release). Imagem mínima — contém apenas o necessário para o runner funcionar. O toolchain de desenvolvimento fica a cargo dos workflows.

⁠Destaques

  • Base: williancavalcante/arch-base⁠
  • Runner binário oficial do GitHub (sem recompilação)
  • Locale pt_BR.UTF-8 + timezone America/Sao_Paulo
  • Suporte a Docker-out-of-Docker (DooD) via socket do host
  • Pacotes sempre na versão mais recente do Arch

⁠Uso rápido

docker run -d \
  --name runner-github \
  -e GITHUB_URL=https://github.com/sua-org \
  -e RUNNER_TOKEN=<token> \
  -v /var/run/docker.sock:/var/run/docker.sock \
  --group-add $(getent group docker | cut -d: -f3) \
  williancavalcante/runner-github-arch:latest

⁠Com Docker Compose

services:
  runner-github:
    image: williancavalcante/runner-github-arch:latest
    container_name: runner-github
    restart: unless-stopped
    environment:
      GITHUB_URL: https://github.com/sua-org
      RUNNER_TOKEN: ${GITHUB_RUNNER_TOKEN}
      RUNNER_NAME: ${RUNNER_NAME:-runner-arch}
      RUNNER_LABELS: ${RUNNER_LABELS:-self-hosted,linux,x64,arch}
    volumes:
      - runner-work:/home/runner/_work
      - /var/run/docker.sock:/var/run/docker.sock
    group_add:
      - ${DOCKER_GID}    # obrigatório: getent group docker | cut -d: -f3

volumes:
  runner-work:

Crie um arquivo .env:

GITHUB_URL=https://github.com/sua-org
GITHUB_RUNNER_TOKEN=         # Settings > Actions > Runners > New self-hosted runner
RUNNER_NAME=runner-arch
RUNNER_LABELS=self-hosted,linux,x64,arch
DOCKER_GID=                  # getent group docker | cut -d: -f3

⁠Variáveis de ambiente

VariávelObrigatóriaDescrição
GITHUB_URLSimURL da organização ou repositório
RUNNER_TOKENSimToken de registro (gerado em Settings > Actions > Runners)
RUNNER_NAMENãoNome do runner (default: hostname do container)
RUNNER_LABELSNãoLabels separados por vírgula (default: self-hosted,linux,x64)
RUNNER_WORKDIRNãoDiretório de trabalho (default: /home/runner/_work)

⁠Docker-out-of-Docker (DooD)

O runner monta o socket do Docker do host para que os workflows possam executar containers. É necessário informar o GID do grupo docker do host:

getent group docker | cut -d: -f3

Use esse valor em group_add no Compose ou --group-add no docker run.

⁠O que está incluído

  • git + git-lfs — actions/checkout
  • curl, wget, ca-certificates — download de actions
  • tar, gzip, xz, unzip, zip — artefatos
  • jq — processamento JSON em workflows
  • openssh — clone via SSH
  • icu, krb5, openssl, zlib — runtime .NET do binário do runner

⁠Tags

TagDescrição
latestVersão mais recente
YYYY.MM.DDData do build

Tag summary

Content type

Image

Digest

sha256:da6ab6708…

Size

642.9 MB

Last updated

4 months ago

docker pull williancavalcante/runner-github-arch