Production-ready runner images for Forgejo Actions and ACT with comprehensive language support and nightly updates.
[!NOTE] Images are built nightly on my Forgejo instance and automatically mirrored to GitHub Container Registry for optimal CDN performance.
GitHub Actions:
jobs:
test:
runs-on: ubuntu-latest
container: ghcr.io/tcpipuk/act-runner:ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: python --version
- run: node --versionACT:
act -P ubuntu-latest=ghcr.io/tcpipuk/act-runner:ubuntu-latestView all available tags and versions →
| Ubuntu Version | Alias Tag | Node.js | Python Versions Available |
|---|---|---|---|
| 25.10 (Development) | ubuntu-rolling |
24 | 3.13 |
| 24.04 LTS (Current) | ubuntu-latest |
24 | 3.12, 3.13 |
| 22.04 LTS (Previous) | ubuntu-previous |
22 | 3.10, 3.13 |
Note: Italicised versions are the native Python for each Ubuntu release. Non-native versions use the latest stable Python (3.13) from deadsnakes PPA.
View all available tags and versions →
| Fedora Version | Alias Tag | Node.js | Python Versions Available |
|---|---|---|---|
| Rawhide (Development) | fedora-rawhide |
24 | 3.14 |
| 43 (Current) | fedora-latest |
24 | 3.14 |
| 41 (Previous) | fedora-previous |
22 | 3.13 |
View all available tags and versions →
| Debian Version | Alias Tag | Node.js | Python Versions Available |
|---|---|---|---|
| sid (Forky - Sid/Unstable) | debian-sid |
24 | 3.13 |
| 13 (Trixie - Stable) | debian-latest |
24 | 3.13 |
| 12 (Bookworm - Oldstable) | debian-oldstable |
22 | 3.11 |
Note: Debian images use only the native Python version for each release, providing better system integration than external PPAs.
- Wide compatibility - Works with Forgejo Actions, Gitea Actions, and ACT
- amd64 support - Multi-arch builds incompatible with current build environment
- Always current - Automatically tracks all supported Node.js and Python versions
- Nightly updates with intelligent layering - only download what's changed
- Pre-configured tools - Docker, build-essential, gh CLI, and development libraries ready to go
- Smart caching - Layered architecture means updates are incremental, not full re-downloads
All images include:
- Build essentials (gcc, g++, make, cmake, pkg-config)
- Full Docker stack including daemon, CLI and Compose (via
docker.iopackage on Ubuntu/Debian,moby-engineon Fedora, all with multi-architecture support and Docker-in-Docker capabilities) - GitHub CLI (
gh) - Git and Git LFS
- Common utilities (curl, wget, jq, tar, zip)
- Pre-configured package repositories (LLVM, Kubernetes, HashiCorp*, Microsoft)
- Deadsnakes PPA repository (non-rolling Ubuntu releases only)
[!NOTE] * HashiCorp repository is not available for Debian sid/unstable
Runtime languages:
- Node.js with npm/npx (single version per image: oldest supported LTS for 'previous/oldstable' releases, newest LTS for 'latest/stable' releases, newest stable for 'rolling/rawhide/sid' releases)
- Go (latest stable release across all images)
- Java (default JDK for each distro release) with Gradle (Ubuntu only - not available in Fedora or Debian's package repositories)
- Python (native OS version, plus optionally latest stable Python from deadsnakes PPA for non-rolling Ubuntu releases)
- uv package manager
- Rust toolchain manager (rustup) with minimal profile (stable toolchain for stable distros, nightly toolchain for rolling/rawhide/sid releases)
- Pre-installed Python development tools (ruff, mypy, pytest, black, isort, prek)
- Compatible with actions/setup-node
- See docs/python.md for full details
Need to customise these images? See docs/self-build.md for detailed build instructions.
Inspired by catthehacker/docker_images. This project provides automated builds with wider version coverage and optimised layer caching.
MIT - See LICENSE file for details.