GitHub Actions self-hosted runners on Debian 13 trixie: docker/buildah, php, node, .NET, SDKs
10K+
epicmorg/github-runnerGitHub Actions self-hosted runner images built by EpicMorg on our own
epicmorg/debian:trixie-develop
base (full build toolchain, prebuilt OpenSSL / ICU / curl / libpq under /usr/local/share/epicmorg).
Same set of variants as epicmorg/teamcity-agent.
| Tag | Built from | Adds |
|---|---|---|
minimal | epicmorg/debian:trixie-develop | actions/runner 2.323.0, supervisord |
latest | minimal | Docker CE (docker-ce, containerd.io, buildx and compose plugins) from the trixie Docker repo, buildah, podman, podman-compose, fuse-overlayfs, buildah-wrapper / kaniko-wrapper; .NET SDK (STS channel); Debian mono-complete |
php56 … php84 | minimal | PHP from epicmorg/php:<ver> via COPY --from (php, php-fpm, php-cgi, composer, the baked OpenSSL / curl / libpq / ICU it links) - same Dockerfile as the TeamCity php agents, with the same fatal linkage assertions |
node0.12 … node23 | minimal | Node.js release tarball from nodejs.org |
dotnet-sdk | minimal | .NET SDK (STS channel), Debian mono-complete |
android-sdk | minimal | Temurin JDK 17, Debian android-sdk + sdkmanager packages |
atlassian-sdk | minimal | Temurin JDK 8, Atlassian Plugin SDK |
amxx-sdk, amxx-sdk-rc | minimal | AMX Mod X 1.9 / 1.10 compiler |
Everything the project installs lives under /usr/local/share/epicmorg.
| Tags | Dockerfile |
|---|---|
amxx-sdk | amxx-sdk/1.9 |
amxx-sdk-rc | amxx-sdk/1.10 |
android-sdk | android-sdk |
atlassian-sdk | atlassian-sdk |
dotnet-sdk | dotnet-sdk |
latest | latest |
minimal | minimal |
node0.12 | node0.12 |
node4 | node4 |
node5 | node5 |
node6 | node6 |
node7 | node7 |
node8 | node8 |
node9 | node9 |
node10 | node10 |
node11 | node11 |
node12 | node12 |
node13 | node13 |
node14 | node14 |
node15 | node15 |
node16 | node16 |
node17 | node17 |
node18 | node18 |
node19 | node19 |
node20 | node20 |
node21 | node21 |
node22 | node22 |
node23 | node23 |
php5.6 | php56 |
php7.0 | php70 |
php7.1 | php71 |
php7.2 | php72 |
php7.3 | php73 |
php7.4 | php74 |
php8.0 | php80 |
php8.1 | php81 |
php8.2 | php82 |
php8.3 | php83 |
php8.4 | php84 |
Every tag is pushed to docker.io, quay.io and ghcr.io (epicmorg/github-runner:<tag> on each) - same digest everywhere.
The runner is started by supervisord as root. On every start the entrypoint registers it
(config.sh --unattended --replace) and then runs run.sh.
| Variable | Meaning |
|---|---|
GITHUB_URL | repository or organization URL - required |
GITHUB_TOKEN | runner registration token (Settings → Actions → Runners → New runner) - required |
RUNNER_NAME | runner name - required |
RUNNER_WORK_DIR | work directory (default /usr/local/share/epicmorg/github/actions-runner/_work) |
RUNNER_ALLOW_RUNASROOT | set to 1: the upstream config.sh refuses to run as root without it |
services:
github-runner:
image: epicmorg/github-runner:minimal
restart: unless-stopped
environment:
GITHUB_URL: "https://github.com/your-org"
GITHUB_TOKEN: "<registration token>"
RUNNER_NAME: "runner-01"
RUNNER_ALLOW_RUNASROOT: "1"
volumes:
- runner-work:/usr/local/share/epicmorg/github/actions-runner/_work
volumes:
runner-work:
Volumes declared by the image: the work directory, the _diag directory and /var/log/supervisor.
Registration tokens expire after about an hour; --replace re-registers the same name on restart.
latest: building containers inside the runnerlatest starts its own dockerd under supervisord (unix:///var/run/docker.sock,
--iptables=false --bridge=none) and ships buildah / podman configured for fuse-overlayfs
(BUILDAH_FORMAT=docker, BUILDAH_ISOLATION=docker). Run it privileged; /var/lib/docker,
/var/lib/containers and /var/tmp are declared as volumes.
php* runners is the same build as epicmorg/php (NTS, php-fpm, no mod_php); see the
php README for the OpenSSL / ICU / curl
matrix per version. Debian php* packages are apt-pinned out.minimal here has no JDK; android-sdk and atlassian-sdk bring their own.Content type
Image
Digest
sha256:0e779cba8…
Size
7.2 GB
Last updated
about 3 hours ago
docker pull epicmorg/github-runner:php8.0