Files
gitea-debian-runner/README.md
T
pim bc1f6a0ac3 feat: add debian:13-slim runner image for Gitea Actions
Self-contained Dockerfile under linux/debian/ that bakes runner user,
Docker CE, Node.js v20+v24, latest Go, yq, and act env vars. Uses
Debian's git-lfs and Docker CE from download.docker.com. Published to
git.ipng.ch/ipng/gitea-debian-runner:13-slim. README documents build
and push commands (single-arch and multi-arch via buildx).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 18:16:11 +02:00

7.0 KiB

Docker images

Scheduled build (Ubuntu) On-demand build (Ubuntu) Linter

When updates will be applied to images

  • A package that will be required for action(s) to work properly might be added/removed/changed
  • Any maintenance that will be required due to:
    • GitHub Container Registry
    • GitHub Actions
    • Act
  • Performance and/or disk space improvements

Images available

  • ChristopherHX/runner-image-blobs GitHub Actions Hosted runner image copy containing almost all possible tools (image is extremely big, 20GB compressed, ~60GB extracted)

    • A tar backup of the GitHub Hosted Runners are uploaded once a week via a custom docker image upload script in runner-image-blobs repository
    • Synced by cron job .github/workflows/copy-full-image.yml to the following tags
    • You can verify if the Image is still updated regulary by inspecting the dates in docker buildx imagetools inspect catthehacker/ubuntu:full-latest --format "{{ json . }}"
    • available tags are
      • ghcr.io/catthehacker/ubuntu:full-latest (aka full-22.04)
      • ghcr.io/catthehacker/ubuntu:full-24.04 (beta image)
      • ghcr.io/catthehacker/ubuntu:full-22.04
  • /linux/ubuntu/act - image used in github.com/nektos/act as medium size image retaining compatibility with most actions while maintaining small size

    • ghcr.io/catthehacker/ubuntu:act-22.04
    • ghcr.io/catthehacker/ubuntu:act-24.04
    • ghcr.io/catthehacker/ubuntu:act-latest
  • /linux/ubuntu/runner - ghcr.io/catthehacker/ubuntu:act-* but with runner as user instead of root

    • ghcr.io/catthehacker/ubuntu:runner-22.04
    • ghcr.io/catthehacker/ubuntu:runner-24.04
    • ghcr.io/catthehacker/ubuntu:runner-latest
  • /linux/ubuntu/js - ghcr.io/catthehacker/ubuntu:act-* but with js tools installed (yarn, nvm, node v20/v24, pnpm, grunt, etc.)

    • ghcr.io/catthehacker/ubuntu:js-22.04
    • ghcr.io/catthehacker/ubuntu:js-24.04
    • ghcr.io/catthehacker/ubuntu:js-latest
  • /linux/ubuntu/rust - ghcr.io/catthehacker/ubuntu:act-* but with rust tools installed (rustfmt, clippy, cbindgen, etc.)

    • ghcr.io/catthehacker/ubuntu:rust-22.04
    • ghcr.io/catthehacker/ubuntu:rust-24.04
    • ghcr.io/catthehacker/ubuntu:rust-latest
  • /linux/ubuntu/pwsh - ghcr.io/catthehacker/ubuntu:act-* but with pwsh tools and modules installed

    • ghcr.io/catthehacker/ubuntu:pwsh-22.04
    • ghcr.io/catthehacker/ubuntu:pwsh-24.04
    • ghcr.io/catthehacker/ubuntu:pwsh-latest
  • /linux/ubuntu/go - ghcr.io/catthehacker/ubuntu:act-* but with go tools installed

    • ghcr.io/catthehacker/ubuntu:go-22.04
    • ghcr.io/catthehacker/ubuntu:go-24.04
    • ghcr.io/catthehacker/ubuntu:go-latest
  • /linux/ubuntu/dotnet - ghcr.io/catthehacker/ubuntu:act-* but with .NET tools installed

    • ghcr.io/catthehacker/ubuntu:dotnet-22.04
    • ghcr.io/catthehacker/ubuntu:dotnet-24.04
    • ghcr.io/catthehacker/ubuntu:dotnet-latest
  • /linux/ubuntu/java-tools - ghcr.io/catthehacker/ubuntu:act-* but with Java tools installed

    • ghcr.io/catthehacker/ubuntu:java-tools-22.04
    • ghcr.io/catthehacker/ubuntu:java-tools-24.04
    • ghcr.io/catthehacker/ubuntu:java-tools-latest
  • /linux/ubuntu/gh - ghcr.io/catthehacker/ubuntu:act-* but with GitHub CLI tools installed

    • ghcr.io/catthehacker/ubuntu:gh-22.04
    • ghcr.io/catthehacker/ubuntu:gh-24.04
    • ghcr.io/catthehacker/ubuntu:gh-latest
  • /linux/ubuntu/custom - ghcr.io/catthehacker/ubuntu:act-* but with custom tools installed

    • ghcr.io/catthehacker/ubuntu:custom-22.04
    • ghcr.io/catthehacker/ubuntu:custom-24.04
    • ghcr.io/catthehacker/ubuntu:custom-latest

IPng Debian Runner

A debian:13-slim-based variant of the act/runner image, intended for use with Gitea Actions. Compared to the Ubuntu images it adds rsync, ships git-lfs from Debian's archive (rather than the packagecloud repo), and uses Docker CE from download.docker.com instead of Microsoft's moby builds.

Source: linux/debian/Dockerfile. It is a single self-contained Dockerfile (no helper scripts) and bakes the runner user, Docker CE, Node.js LTS (v20 + v24), the latest stable Go release from go.dev, yq, and the act/runner environment variables (ImageOS=debian13, tool cache paths, etc.).

Published to git.ipng.ch/ipng/gitea-debian-runner:13-slim.

Build

docker build --load \
  --file linux/debian/Dockerfile \
  --tag git.ipng.ch/ipng/gitea-debian-runner:13-slim \
  --build-arg BUILD_DATE="$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
  --build-arg BUILD_REF="$(git rev-parse HEAD)" \
  .

--load makes the image available to the local docker daemon — required when buildx uses the docker-container driver (the default on multi-platform setups).

For multi-arch (amd64 + arm64) using buildx, building and pushing in one step:

docker buildx build \
  --file linux/debian/Dockerfile \
  --platform linux/amd64,linux/arm64 \
  --tag git.ipng.ch/ipng/gitea-debian-runner:13-slim \
  --build-arg BUILD_DATE="$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
  --build-arg BUILD_REF="$(git rev-parse HEAD)" \
  --push \
  .

Push (single-arch)

docker login git.ipng.ch
docker push git.ipng.ch/ipng/gitea-debian-runner:13-slim

ubuntu-20.04 has been deprecated and images for that environment will not be updated anymore

ubuntu-18.04 has been deprecated and images for that environment will not be updated anymore

Repository contains parts of actions/virtual-environments which is licenced under "MIT License"