- Shell 88%
- Dockerfile 12%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .forgejo/workflows | ||
| scripts | ||
| .dockerignore | ||
| Dockerfile | ||
| README.md | ||
Forgejo Actions Runner Images
Minimal base images for Forgejo Actions jobs.
Tags
| Image | Tags |
|---|---|
forgejo.ofkm.us/actions/ubuntu |
26.04, latest |
forgejo.ofkm.us/actions/debian |
sid, latest |
forgejo.ofkm.us/actions/alpine |
latest |
What's installed
ca-certificatescurldiggitjqsudounzipxz-utilszstd- Latest stable Go toolchain
- Latest Node.js 26 release (required to run JavaScript actions)
- Latest stable pnpm release
- Latest Terraform and TFLint releases
- Docker CLI (client only, no daemon)
The Alpine image also includes build-base, coreutils, gcompat, and Linux headers for native builds. gcompat supplies Alpine's supported glibc compatibility layer while the image remains musl-based.
Other build toolchains, rsync, git-lfs and friends are not intentionally provisioned — install them in the workflow that needs them.
Jobs run as a non-root runner user (uid/gid 1001) with passwordless sudo. /opt/hostedtoolcache is writable and RUNNER_TOOL_CACHE, AGENT_TOOLSDIRECTORY, and RUNNER_TEMP are set.
Usage
container:
labels:
ubuntu-latest: docker://forgejo.ofkm.us/actions/ubuntu:latest
ubuntu-26.04: docker://forgejo.ofkm.us/actions/ubuntu:26.04
debian-sid: docker://forgejo.ofkm.us/actions/debian:sid
alpine-latest: docker://forgejo.ofkm.us/actions/alpine:latest
jobs:
test:
runs-on: ubuntu-26.04
steps:
- uses: actions/checkout@v4
- run: sudo apt-get update && sudo apt-get install -y python3
Building
One Dockerfile builds every variant; scripts/setup.sh detects the distro from /etc/os-release. There are no default build args — see the build-args block in .forgejo/workflows/build.yml for the values used in published images.
docker build \
--build-arg BASE_IMAGE=ubuntu:26.04 \
--build-arg APT_MIRROR_BASE=https://pkgs.ofkm.us \
--build-arg NODE_MAJOR=26 \
--build-arg PNPM_VERSION=latest \
--build-arg RUNNER_USER=runner \
--build-arg RUNNER_UID=1001 \
--build-arg RUNNER_GID=1001 \
--build-arg TOOLCHAIN_REFRESH="$(date +%s)" \
-t actions/ubuntu:26.04 .
Add a variant with a matrix entry in the workflow; change the matching distro package set in scripts/setup.sh.
Pushes authenticate with a Forgejo authorized integration (OIDC), not a static token.