GitLab Runner images on Debian 13 trixie: docker/buildah, php, node, .NET, SDKs
10K+
epicmorg/gitlab-runnerGitLab 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 | gitlab-runner (latest binary from GitLab's S3), 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/gitlab-runner:<tag> on each) - same digest everywhere.
supervisord runs gitlab-runner run as root with the configuration in
/usr/local/share/epicmorg/gitlab/runner/etc/gitlab-runner/config.toml (also reachable as
/etc/gitlab-runner) and the work directory /usr/local/share/epicmorg/gitlab/runner/worker.
The image does not register itself: keep config.toml in the volume and register once.
services:
gitlab-runner:
image: epicmorg/gitlab-runner:minimal
restart: unless-stopped
volumes:
- runner-config:/usr/local/share/epicmorg/gitlab/runner/etc/gitlab-runner
- runner-worker:/usr/local/share/epicmorg/gitlab/runner/worker
volumes:
runner-config:
runner-worker:
docker compose exec gitlab-runner gitlab-runner register \
--url https://gitlab.example.com --token <runner authentication token> --executor shell
Volumes declared by the image: the config directory, the worker directory and /var/log/supervisor.
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:ababb9e7e…
Size
6.9 GB
Last updated
about 12 hours ago
docker pull epicmorg/gitlab-runner:amxx-sdk-rc