Files
volker.raschek 09989839e6
Ansible Linter / ansible-lint (push) Successful in 1m0s
Lint Markdown files / markdown-lint (push) Failing after 11s
fix: extend default config
2026-06-11 20:02:12 +02:00

27 KiB

gitea_runner

This Ansible role installs and configures a gitea Act Runner for executing GitHub Actions-compatible workflows.

Installation

ansible-galaxy install volker-raschek.gitea_runner

Usage

Simple Playbook

- hosts: runners
  become: yes
  roles:
    - role: volker-raschek.gitea_runner
      vars:
        gitea_runner_gitea_url: "https://your-gitea-instance.com"
        gitea_runner_token: "your-registration-token"

Advanced Configuration

- hosts: runners
  become: yes
  roles:
    - role: volker-raschek.gitea_runner
      vars:
        gitea_runner_gitea_url: "https://your-gitea-instance.com"
        gitea_runner_token: "your-registration-token"
        gitea_runner_config:
          runner:
            capacity: 2
            labels:
              - "ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest"
              - "custom-label:docker://custom-image:latest"
          container:
            privileged: true

Further ansible roles

This ansible role is used in combination with other ansible roles of volker-raschek. You can search for the other ansible roles via the following command.

$ ansible-galaxy role search --author "volker-raschek"

Found roles matching your search:

 Name                      Description
 ----                      -----------
 volker-raschek.bind9      Role to install and configure bind9 on different distributions
 volker-raschek.dhcpd      Role to install and configure dhcpd on different distributions
 volker-raschek.renovate   Role to configure renovate as container image
 ...

Parameters

Act Runner

Name Description Value
gitea_runner_config_file Path to the gitea_runner configuration file /etc/gitea_runner/config.yaml
gitea_runner_config.log.level The level of logging, can be trace, debug, info, warn, error, fatal info
gitea_runner_config.runner.file Where to store the registration result .runner
gitea_runner_config.runner.capacity Execute how many tasks concurrently at the same time 1
gitea_runner_config.runner.envs Extra environment variables to run jobs {}
gitea_runner_config.runner.env_file Extra environment variables to run jobs from a file .env
gitea_runner_config.runner.timeout The timeout for a job to be finished 3h
gitea_runner_config.runner.shutdown_timeout The timeout for the runner to wait for running jobs to finish when shutting down 0s
gitea_runner_config.runner.insecure Whether skip verifying the TLS certificate of the Gitea instance false
gitea_runner_config.runner.fetch_timeout The timeout for fetching the job from the Gitea instance 5s
gitea_runner_config.runner.fetch_interval The interval for fetching the job from the Gitea instance 2s
gitea_runner_config.runner.fetch_interval_max The maximum interval for fetching the job from the Gitea instance. 5s
gitea_runner_config.runner.workdir_cleanup_age The maximum interval for fetching the job from the Gitea instance. 24h
gitea_runner_config.runner.idle_cleanup_interval Cadence for the idle stale bind-workdir cleanup pass. 10m
gitea_runner_config.runner.log_report_interval The base interval for periodic log flush to the Gitea instance. 5s
gitea_runner_config.runner.log_report_max_latency The maximum time a log row can wait before being sent. 3s
gitea_runner_config.runner.log_report_batch_size Flush logs immediately when the buffer reaches this many rows. 100
gitea_runner_config.runner.state_report_interval The interval for reporting task state (step status, timing) to the Gitea instance. 5s
gitea_runner_config.runner.github_mirror The mirror address of the github that pulls the action repository ""
gitea_runner_config.runner.labels The labels of a runner are used to determine which jobs the runner can run ["ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest","ubuntu-22.04:docker://docker.gitea.com/runner-images:ubuntu-22.04","ubuntu-20.04:docker://docker.gitea.com/runner-images:ubuntu-20.04"]
gitea_runner_config.runner.allocate_pty TODO false
gitea_runner_config.cache.enabled Enable cache server to use actions/cache true
gitea_runner_config.cache.dir The directory to store the cache data ""
gitea_runner_config.cache.host The host of the cache server ""
gitea_runner_config.cache.port The port of the cache server 0
gitea_runner_config.cache.external_server The external cache server URL ""
gitea_runner_config.cache.external_secret Shared secret between this runner and the external gitea-runner cache-server. ""
gitea_runner_config.cache.offline_mode When true, reuse a cached action instead of fetching from the remote on every job. false
gitea_runner_config.container.network Specifies the network to which the container will connect ""
gitea_runner_config.container.privileged Whether to use privileged mode when launching task containers false
gitea_runner_config.container.options Other options to be used when the container is started nil
gitea_runner_config.container.workdir_parent The parent directory of a job's working directory nil
gitea_runner_config.container.valid_volumes Volumes that can be mounted to containers []
gitea_runner_config.container.docker_host Overrides the docker client host with the specified one ""
gitea_runner_config.container.force_pull Pull docker image(s) even if already present true
gitea_runner_config.container.force_rebuild Rebuild docker image(s) even if already present false
gitea_runner_config.container.require_docker Always require a reachable docker daemon false
gitea_runner_config.container.docker_timeout Timeout to wait for the docker daemon to be reachable 0s
gitea_runner_config.container.bind_workdir Bind the workspace to the host filesystem instead of using Docker volumes. This is required for Docker-in-Docker (DinD) setups when jobs use docker compose with bind mounts (e.g., ".:/app"), as volume-based workspaces are not accessible from the DinD daemon's filesystem. false
gitea_runner_config.host.workdir_parent The parent directory of a job's working directory nil
gitea_runner_config.metrics.enabled Enable exposing metrics at http:///metrics and a liveness check at /healthz. false
gitea_runner_config.metrics.addr The address for the metrics HTTP server. 127.0.0.1:9101
gitea_runner_unix_extra_groups List of additional unix groups to append the executing gitea-runner user to. []
gitea_runner_gitea_url The URL of the Gitea instance ""
gitea_runner_token The registration token for the gitea_runner ""

Package Management

Name Description Value
gitea_runner_update_cache Whether to update package cache before installing packages true