## Introduction
A simple self-hosted actions runner running in a container
## Features
- Supports Docker-out-of-Docker
- Built-in [github-cli](https://github.com/cli/cli) python pip [yq](https://github.com/mikefarah/yq)
## Configuration and Usage Instructions
| Parameter | Required | Description |
| --- | --- | --- |
| `ROLE` | Required | Used to differentiate between enterprise, organization, and personal repositories.
Use `enterprises` for enterprise, `orgs` for organization, and `repos` for personal repositories.
**REST API** |
| `REPO` | Required | Format for enterprise: `enterpriseName`
Format for organization: `orgName`
Format for personal repository: `owner/repo`
**REST API** |
| `RUNNER_GITHUB_TOKEN` | Required | [Fine-grained PAT is recommended](https://github.com/settings/personal-access-tokens/new).
For enterprises:
**Fine-grained PAT cannot be used for enterprises**
OAuth app tokens and PAT (classic) require the `manage_runners:enterprise` permission.
For organizations:
Fine-grained PAT should have read and write permissions for Self-hosted runners.
OAuth tokens and PAT (classic) require `admin:org` permissions,
additionally, `repo` permissions are required for private organization repositories.
For personal repositories:
Fine-grained PAT should have read and write permissions for Administration.
OAuth tokens and PAT (classic) require `repo` permissions.
[How to create a token?](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens)
**REST API** |
| `RUNNER_NAME` | | Runner name. If left empty, it will be randomly generated.
Runner names must be unique within the same personal repository (or enterprise/organization). |
| `RUNNER_LABELS` | | Runner labels. Filling this will add new labels..
Use commas to separate multiple labels.
Example: `label1,label2` |
| `WORK_FOLDER` | | Working directory. If left empty, it will be randomly generated. Rarely needed. |
| `RUNNER_GROUP` | | Runner group. The default value is `Default`. For details, refer to the [documentation](https://docs.github.com/en/actions/how-tos/manage-runners/self-hosted-runners/manage-access). |
| `AUTO_UNREGISTER` | | Whether to unregister the Runner from github.com when the container stops.
Default is `false`. It is recommended to map /home/runner/.runner_config
to a local when selecting false. This folder saves Runner's login status. |
For parameters marked with **REST API**, refer to the [documentation](https://docs.github.com/en/enterprise-cloud@latest/rest/actions/self-hosted-runners?apiVersion=2022-11-28).