rmcampos 00737b177a
Build and Push Java Runner / build-and-push (push) Successful in 2m20s
Update Dockerfile.graalvm
2026-07-07 23:30:03 +00:00
2026-06-30 12:20:55 -03:00
2026-07-07 23:30:03 +00:00

Gitea Runners

License: GPL v3 Java runner Build Node runner Build

This repository contains custom Docker images and CI/CD workflows for self-hosted Gitea runners.

Project Overview

This project provides Docker images designed to run as Gitea Actions runners with pre-installed build tools. The images are built and published to Docker Hub using automated Gitea workflows.

Docker Images

Images are published to Docker Hub under the username rmcampos:

Image Tags Description
rmcampos/graalvm-builder 25 GraalVM Java 25 with Maven, Gradle, Node.js, and Docker CLI
rmcampos/debian-trixie-node 22 Debian Trixie with Node.js 22, Docker CLI, and Buildx

GraalVM Builder Image (rmcampos/graalvm-builder:25)

Based on ghcr.io/graalvm/native-image-community:25

Includes:

  • GraalVM Community Java 25
  • Maven 3.9.9
  • Gradle 8.14
  • Node.js + npm (via microdnf)
  • Docker CLI 29.4.0
  • Additional tools: git, curl, wget, jq, unzip, zip, findutils

Node.js Runner Image (rmcampos/debian-trixie-node:22)

Based on debian:trixie-slim

Includes:

  • Node.js 22 (via NodeSource)
  • npm
  • Docker CLI 29.4.0
  • Docker Buildx 0.21.2
  • Additional tools: git, curl, wget, jq, unzip, xz-utils

CI/CD Workflows

Gitea Actions workflows automatically build and push images on push to main or manual trigger:

Java Runner Workflow (.gitea/workflows/build-java-runner.yml)

  • Triggers on:
    • Push to main branch affecting Dockerfile.graalvm or the workflow itself
    • Manual workflow dispatch
  • Builds and pushes rmcampos/graalvm-builder:25 to Docker Hub

Node Runner Workflow (.gitea/workflows/build-node-runner.yml)

  • Triggers on:
    • Push to main branch affecting Dockerfile.node22 or the workflow itself
    • Manual workflow dispatch
  • Builds and pushes rmcampos/debian-trixie-node:22 to Docker Hub

Both workflows require Docker Hub credentials stored as Gitea secrets:

  • DOCKERHUB_USERNAME - set to rmcampos
  • DOCKERHUB_PAT - Docker Hub personal access token

Using the Images

Pull the images directly from Docker Hub:

# GraalVM builder
docker pull rmcampos/graalvm-builder:25

# Node.js runner
docker pull rmcampos/debian-trixie-node:22

Use in Gitea Actions workflows:

jobs:
  build:
    runs-on: ubuntu-latest
    container:
      image: rmcampos/graalvm-builder:25
    steps:
      - uses: actions/checkout@v4
      - run: mvn --version

Repository Structure

.
├── Dockerfile.graalvm          # GraalVM Java runner image
├── Dockerfile.node22           # Node.js runner image
├── .gitea/workflows/           # CI/CD workflow definitions
│   ├── build-java-runner.yml
│   └── build-node-runner.yml
├── build-graalvm.sh            # Manual build script for GraalVM image
├── build-node.sh               # Manual build script for Node image
└── check-image.sh              # Image verification script

Notes

  • Images include Docker CLI only (no daemon), intended for use with DinD (Docker-in-Docker) or host-mounted Docker sockets
  • All tool versions are explicitly pinned for reproducibility
  • Both images are multi-purpose runners suitable for Java, JavaScript, and containerized builds
S
Description
Gitea runners help files and docker files
Readme GPL-3.0
64 KiB
Languages
Shell 100%