Sign inSign up

epicmorg/gitlab-runner

By epicmorg

•Updated about 12 hours ago

GitLab Runner images on Debian 13 trixie: docker/buildah, php, node, .NET, SDKs

Image
0

10K+

epicmorg/gitlab-runner repository overview

⁠epicmorg/gitlab-runner

GitLab⁠ 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⁠.

⁠What's inside

TagBuilt fromAdds
minimalepicmorg/debian:trixie-developgitlab-runner (latest binary from GitLab's S3), supervisord
latestminimalDocker 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 … php84minimalPHP 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 … node23minimalNode.js release tarball from nodejs.org
dotnet-sdkminimal.NET SDK (STS channel), Debian mono-complete
android-sdkminimalTemurin JDK 17, Debian android-sdk + sdkmanager packages
atlassian-sdkminimalTemurin JDK 8, Atlassian Plugin SDK⁠
amxx-sdk, amxx-sdk-rcminimalAMX Mod X⁠ 1.9 / 1.10 compiler

Everything the project installs lives under /usr/local/share/epicmorg.

⁠Tags

TagsDockerfile
amxx-sdkamxx-sdk/1.9⁠
amxx-sdk-rcamxx-sdk/1.10⁠
android-sdkandroid-sdk⁠
atlassian-sdkatlassian-sdk⁠
dotnet-sdkdotnet-sdk⁠
latestlatest⁠
minimalminimal⁠
node0.12node0.12⁠
node4node4⁠
node5node5⁠
node6node6⁠
node7node7⁠
node8node8⁠
node9node9⁠
node10node10⁠
node11node11⁠
node12node12⁠
node13node13⁠
node14node14⁠
node15node15⁠
node16node16⁠
node17node17⁠
node18node18⁠
node19node19⁠
node20node20⁠
node21node21⁠
node22node22⁠
node23node23⁠
php5.6php56⁠
php7.0php70⁠
php7.1php71⁠
php7.2php72⁠
php7.3php73⁠
php7.4php74⁠
php8.0php80⁠
php8.1php81⁠
php8.2php82⁠
php8.3php83⁠
php8.4php84⁠

Every tag is pushed to docker.io, quay.io and ghcr.io (epicmorg/gitlab-runner:<tag> on each) - same digest everywhere.

⁠Usage

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 runner

latest 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.

⁠Notes

  • PHP inside the 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.
  • Unlike the TeamCity agents, minimal here has no JDK; android-sdk and atlassian-sdk bring their own.

Tag summary

Content type

Image

Digest

sha256:ababb9e7e…

Size

6.9 GB

Last updated

about 12 hours ago

docker pull epicmorg/gitlab-runner:amxx-sdk-rc