Skip to main content

Managing self-hosted runners

You can host your own runners to run workflows in a highly customizable environment.

About self-hosted runners

You can host your own runners and customize the environment used to run jobs in your GitHub Actions workflows.

Adding self-hosted runners

You can add a self-hosted runner to a repository, an organization, or an enterprise.

Autoscaling with self-hosted runners

You can automatically scale your self-hosted runners in response to webhook events.

Running scripts before or after a job

Scripts can automatically execute on a self-hosted runner, directly before or after a job.

Customizing the containers used by jobs

You can customize how your self-hosted runner invokes a container for a job.

Configuring the self-hosted runner application as a service

You can configure the self-hosted runner application as a service to automatically start the runner application when the machine starts.

Using a proxy server with self-hosted runners

You can configure self-hosted runners to use a proxy server to communicate with GitHub Enterprise Cloud.

Using labels with self-hosted runners

You can use labels to organize your self-hosted runners based on their characteristics.

Using self-hosted runners in a workflow

To use self-hosted runners in a workflow, you can use labels or groups to specify the runner for a job.

Managing access to self-hosted runners using groups

You can use policies to limit access to self-hosted runners that have been added to an organization or enterprise.

Monitoring and troubleshooting self-hosted runners

You can monitor your self-hosted runners to view their activity and diagnose common issues.

Removing self-hosted runners

You can permanently remove a self-hosted runner from a repository, an organization, or an enterprise.