Spin up an on-demand self-hosted GitHub action runner with multi-arch supported Ubuntu image.
2.6K
Spin up an on-demand self-hosted GitHub action runner with multi-arch supported Ubuntu image.
Pre-built [platform/architecture agnostic]
docker run thevickypedia/github-runner-linux
Build from source [platform/architecture specific]
git clone https://github.com/thevickypedia/github-runner-linux.git
cd github-runner-linux
Imperative
docker build --platform linux/amd64 -t github-runner-linux .
docker run --platform linux/amd64 github-runner-linux
Declarative
docker compose -f docker-compose-amd64.yml up
Mandatory
Optional
2.322.0default_work"docker-node,${CPU_NAME},${RUNTIME_ID}"falseNote
REUSE_EXISTINGflag can be useful when a container restarts due to an issue or when a container is reused after being terminated without shutting down gracefully.More info
Following files/directories are created (commonly across
macOS,LinuxandWindowsrunners) only when the runner has been configured
_work_diag.runner.credentials.credentials_rsaparamsSo, a simple check on one or more of these files' presence should confirm if the runner has been configured already
Note: Warnings like the ones below are common, and GitHub typically reconnects the runner automatically.
A session for this runner already exists.Runner connect error: The actions runner i-058175xh7908r2u46 already has an active session.. Retrying until reconnected.
Warning
Using this image without the env var
GIT_REPOSITORYwill create an organization level runner.
Using self-hosted runners in public repositories pose some considerable security threats.
This project supports ntfy and telegram bot for startup/shutdown notifications.
NTFY
Choose ntfy setup instructions with basic OR authentication abilities
Telegram
Steps for telegram bot configuration
export TELEGRAM_BOT_TOKEN="your-bot-token"
export CHAT_ID=$(curl -s "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/getUpdates" | jq -r '.result[0].message.chat.id')
Note: To send notifications to threads, the bot should be added to a group with Topics enabled.
Send a message to the bot in a group threadexport THREAD_ID=$(curl -s "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/getUpdates" | jq -r '.result[0]|.update_id')
Content type
Image
Digest
sha256:53b58ff88…
Size
1.2 GB
Last updated
2 months ago
docker pull thevickypedia/github-runner-linux