6bf2eff9dc6792cf576b58d144a1a56b4f0ad957
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 |
Languages
Jinja
100%