Self-hosted GitHub Actions Runner packaged as a multi-arch Docker image based on **Ubuntu 22.04**.
1.8K
Self-hosted GitHub Actions Runner packaged as a multi-arch Docker image based on Ubuntu 22.04, with built-in Docker CLI and Docker Compose Plugin support.
| Platform | Architecture |
|---|---|
linux/amd64 | x86_64 |
linux/arm64 | AArch64 (Raspberry Pi 4, AWS Graviton) |
linux/arm/v7 | ARMv7 (Raspberry Pi 3) |
Create a docker-compose.yml:
services:
github-runner:
image: juliansantosinfo/github-runner:latest
environment:
- GITHUB_PAT=<your-personal-access-token>
- GITHUB_REPO_OWNER=<owner>
- GITHUB_REPO_NAME=<repository>
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- github-runner-data:/actions-runner
restart: always
volumes:
github-runner-data:
Then run:
docker compose up -d
docker run -d \
--name github-runner \
-e GITHUB_PAT=<your-personal-access-token> \
-e GITHUB_REPO_OWNER=<owner> \
-e GITHUB_REPO_NAME=<repository> \
-v /var/run/docker.sock:/var/run/docker.sock \
juliansantosinfo/github-runner:latest
| Variable | Required | Description |
|---|---|---|
GITHUB_PAT | ✅ | Personal Access Token with repo scope |
GITHUB_REPO_OWNER | ✅ | GitHub username or organization |
GITHUB_REPO_NAME | ✅ | Target repository name |
Generate a PAT at: GitHub → Settings → Developer settings → Personal access tokens
docker and linux automatically.SIGTERM / SIGINT), the runner unregisters itself from GitHub automatically./actions-runner volume so the container can restart without re-registering.jobs:
build:
runs-on: [self-hosted, linux, docker]
steps:
- uses: actions/checkout@v4
- run: docker compose version
| Label | Description |
|---|---|
self-hosted | Default label for all self-hosted runners |
linux | Operating system |
docker | Docker CLI and Compose available |
| Property | Value |
|---|---|
| Base Image | ubuntu:22.04 |
| Runner Version | 2.332.0 |
| Docker CLI | ✅ Included |
| Docker Compose | ✅ Included (plugin) |
| Runs as | Non-root user (runner) |
github.com/juliansantosinfo/github-runner
MIT License © Julian Santos
Content type
Image
Digest
sha256:a889cdd85…
Size
363.2 MB
Last updated
6 months ago
docker pull juliansantosinfo/github-runner