HTTP/2 301
content-length: 0
location: https://docs.github.com/en/actions/how-tos/managing-self-hosted-runners
HTTP/2 301
access-control-allow-origin: *
content-security-policy: default-src 'none';prefetch-src 'self';connect-src 'self';font-src 'self' data:;img-src 'self' github.com *.github.com *.githubusercontent.com *.githubassets.com data: placehold.it;object-src 'self';script-src 'self' github.com *.github.com *.githubusercontent.com *.githubassets.com 'self' data: 'unsafe-inline';script-src-attr 'self';frame-src 'self' github.com *.github.com *.githubusercontent.com *.githubassets.com https://support.github.com https://www.youtube-nocookie.com;frame-ancestors 'self' github.com *.github.com *.githubusercontent.com *.githubassets.com;style-src 'self' github.com *.github.com *.githubusercontent.com *.githubassets.com 'self' 'unsafe-inline' data:;child-src 'self';manifest-src 'self';upgrade-insecure-requests;base-uri 'self';form-action 'self'
cross-origin-opener-policy: same-origin
cross-origin-resource-policy: same-origin
origin-agent-cluster: ?1
referrer-policy: no-referrer-when-downgrade
x-content-type-options: nosniff
x-dns-prefetch-control: off
x-download-options: noopen
x-frame-options: SAMEORIGIN
x-permitted-cross-domain-policies: none
x-xss-protection: 0
cache-control: public, max-age=60
location: /en/actions/how-tos/manage-runners/self-hosted-runners
content-type: text/plain; charset=utf-8
x-github-backend: Kubernetes
x-github-request-id: FB46:34C2C7:C535C2:F89721:68EDA652
accept-ranges: bytes
date: Tue, 14 Oct 2025 01:25:53 GMT
via: 1.1 varnish
age: 0
x-served-by: cache-bom-vanm7210084-BOM
x-cache: MISS
x-cache-hits: 0
x-timer: S1760405153.213827,VS0,VE304
vary: Accept
strict-transport-security: max-age=31557600
content-length: 88
HTTP/2 200
access-control-allow-origin: *
content-security-policy: default-src 'none';prefetch-src 'self';connect-src 'self';font-src 'self' data:;img-src 'self' github.com *.github.com *.githubusercontent.com *.githubassets.com data: placehold.it;object-src 'self';script-src 'self' github.com *.github.com *.githubusercontent.com *.githubassets.com 'self' data: 'unsafe-inline';script-src-attr 'self';frame-src 'self' github.com *.github.com *.githubusercontent.com *.githubassets.com https://support.github.com https://www.youtube-nocookie.com;frame-ancestors 'self' github.com *.github.com *.githubusercontent.com *.githubassets.com;style-src 'self' github.com *.github.com *.githubusercontent.com *.githubassets.com 'self' 'unsafe-inline' data:;child-src 'self';manifest-src 'self';upgrade-insecure-requests;base-uri 'self';form-action 'self'
cross-origin-opener-policy: same-origin
cross-origin-resource-policy: same-origin
origin-agent-cluster: ?1
referrer-policy: no-referrer-when-downgrade
x-content-type-options: nosniff
x-dns-prefetch-control: off
x-download-options: noopen
x-frame-options: SAMEORIGIN
x-permitted-cross-domain-policies: none
x-xss-protection: 0
cache-control: public, max-age=60
x-powered-by: Next.js
content-type: text/html; charset=utf-8
x-github-backend: Kubernetes
x-github-request-id: 60E9:59685:C6E8CB:FA2DCB:68EDA6A1
content-encoding: gzip
accept-ranges: bytes
age: 1
date: Tue, 14 Oct 2025 01:25:56 GMT
via: 1.1 varnish
x-served-by: cache-bom-vanm7210084-BOM
x-cache: MISS
x-cache-hits: 0
x-timer: S1760405154.531165,VS0,VE2525
vary: Accept-Encoding
strict-transport-security: max-age=31557600
content-length: 27025
Managing self-hosted runners - GitHub DocsSkip to main contentManaging self-hosted runners
You can host your own runners to run workflows in a highly customizable environment.
You can add a self-hosted runner to a repository, an organization, or an enterprise.
Scripts can automatically execute on a self-hosted runner, directly before or after a job.
You can customize how your self-hosted runner invokes a container for a job.
You can configure the self-hosted runner application as a service to automatically start the runner application when the machine starts.
You can configure self-hosted runners to use a proxy server to communicate with GitHub.
You can use labels to organize your self-hosted runners based on their characteristics.
To use self-hosted runners in a workflow, you can use labels or groups to specify the runner for a job.
You can use policies to limit access to self-hosted runners that have been added to an organization.
You can monitor your self-hosted runners to view their activity and diagnose common issues.
You can permanently remove a self-hosted runner from a repository or organization.