A simple self-hosted GitHub Actions Runner that just works!
7.1K
No Operator, No CRD, No need to blindly apply a yml to K8s cluster, only a simple self-hosted GitHub Actions Runner that just works!
This repo provides the following images, both are Multi-Arch(amd64/arm64 supported):
knatnetwork/github-runner:focal-2.290.0ghcr.io/knatnetwork/github-runner:focal-2.290.0ghp_xxxxxxxxxxxxx with admin:org permission(If you'd like to register runner to repo, your user must have Admin permission on the related repo), if you don't know how to do it, you can refer to Creating a personal access tokenThis is a quick start template for people to register a runner on single machine using Docker Compose.
First you need to create a docker-compose.yml file and write the following content.
version: '3'
services:
runner:
image: knatnetwork/github-runner:focal-2.290.0
restart: always
environment:
RUNNER_REGISTER_TO: 'knatnetwork'
RUNNER_LABELS: 'docker,knat'
KMS_SERVER_ADDR: 'http://kms:3000'
GOPROXY: 'http://goproxy.knat.network,https://proxy.golang.org,direct'
ADDITIONAL_FLAGS: '--ephemeral'
volumes:
- /var/run/docker.sock:/var/run/docker.sock
kms:
image: knatnetwork/github-runner-kms:latest
restart: always
volumes:
- ./config.json:/usr/src/app/config.json
Then create a config.json and write down Org-PAT pair, example as below:
{
"knatnetwork": "ghp_bFLPOxxxxxxxxxxxxxxxxxxxxxxx",
"rust-lang": "ghp_JGIGxxxxxxxxxxxxxxxxxxxOij4"
}
After that you can use docker-compose up -d to start the runner, and now the runner should be registered on knatnetwork Org now.

Notes:
volumesADDITIONAL_FLAGS: '--ephemeral' line.)RUNNER_REGISTER_TO to <org_name>/<repo_name>For more instructions, please take a look at the documentation.
Content type
Image
Digest
sha256:0575b598a…
Size
910.7 MB
Last updated
about 1 month ago
docker pull knatnetwork/github-runner