This is a fork of @SanderKnape's repo that builds the github-runner automatically
This repository contains a Dockerfile that builds a Docker image suitable for running a self-hosted GitHub runner. A Kubernetes Deployment file is also included that you can use as an example on how to deploy this container to a Kubernetes cluster.
docker build -t github-runner .
- Repository runners
- Organizational runners
- Labels
- Graceful shutdown
- Support for installing additional debian packages
- Auto-update after the release of a new version
Register a runner to a repository.
docker run --name github-runner \
-e GITHUB_OWNER=username-or-organization \
-e GITHUB_REPOSITORY=my-repository \
-e GITHUB_PAT=[PAT] \
ghcr.io/matthewglenn/github-runner:latest
Register a runner with github token.
docker run --name github-runner \
-e GITHUB_OWNER=username-or-organization \
-e GITHUB_REPOSITORY=my-repository \
-e GITHUB_TOKEN=[github.token] \
ghcr.io/matthewglenn/github-runner:latest
Create an organization-wide runner.
docker run --name github-runner \
-e GITHUB_OWNER=username-or-organization \
-e GITHUB_PAT=[PAT] \
ghcr.io/matthewglenn/github-runner:latest
Set labels on the runner.
docker run --name github-runner \
-e GITHUB_OWNER=username-or-organization \
-e GITHUB_REPOSITORY=my-repository \
-e GITHUB_PAT=[PAT] \
-e RUNNER_LABELS=comma,separated,labels \
ghcr.io/matthewglenn/github-runner:latest
Install additional tools on the runner.
docker run --name github-runner \
-e GITHUB_OWNER=username-or-organization \
-e GITHUB_REPOSITORY=my-repository \
-e GITHUB_PAT=[PAT] \
-e ADDITIONAL_PACKAGES=firefox-esr,chromium \
ghcr.io/matthewglenn/github-runner:latest