{"meta":{"title":"Managing self-hosted runners","intro":"You can host your own runners to run workflows in a highly customizable environment.","product":"GitHub Actions","breadcrumbs":[{"href":"/en/enterprise-cloud@latest/actions","title":"GitHub Actions"},{"href":"/en/enterprise-cloud@latest/actions/how-tos","title":"How-tos"},{"href":"/en/enterprise-cloud@latest/actions/how-tos/manage-runners","title":"Manage runners"},{"href":"/en/enterprise-cloud@latest/actions/how-tos/manage-runners/self-hosted-runners","title":"Self-hosted runners"}],"documentType":"subcategory"},"body":"# Managing self-hosted runners\n\nYou can host your own runners to run workflows in a highly customizable environment.\n\n## Links\n\n* [Adding self-hosted runners](/en/enterprise-cloud@latest/actions/how-tos/manage-runners/self-hosted-runners/add-runners)\n\n  You can add a self-hosted runner to a repository, an organization, or an enterprise.\n\n* [Running scripts before or after a job](/en/enterprise-cloud@latest/actions/how-tos/manage-runners/self-hosted-runners/run-scripts)\n\n  Scripts can automatically execute on a self-hosted runner, directly before or after a job.\n\n* [Customizing the containers used by jobs](/en/enterprise-cloud@latest/actions/how-tos/manage-runners/self-hosted-runners/customize-containers)\n\n  You can customize how your self-hosted runner invokes a container for a job.\n\n* [Configuring the self-hosted runner application as a service](/en/enterprise-cloud@latest/actions/how-tos/manage-runners/self-hosted-runners/configure-the-application)\n\n  You can configure the self-hosted runner application as a service to automatically start the runner application when the machine starts.\n\n* [Using labels with self-hosted runners](/en/enterprise-cloud@latest/actions/how-tos/manage-runners/self-hosted-runners/apply-labels)\n\n  You can use labels to organize your self-hosted runners based on their characteristics.\n\n* [Using self-hosted runners in a workflow](/en/enterprise-cloud@latest/actions/how-tos/manage-runners/self-hosted-runners/use-in-a-workflow)\n\n  To use self-hosted runners in a workflow, you can use labels or groups to specify the runner for a job.\n\n* [Managing access to self-hosted runners using groups](/en/enterprise-cloud@latest/actions/how-tos/manage-runners/self-hosted-runners/manage-access)\n\n  You can use policies to limit access to self-hosted runners that have been added to an organization.\n\n* [Monitoring and troubleshooting self-hosted runners](/en/enterprise-cloud@latest/actions/how-tos/manage-runners/self-hosted-runners/monitor-and-troubleshoot)\n\n  You can monitor your self-hosted runners to view their activity and diagnose common issues.\n\n* [Removing self-hosted runners](/en/enterprise-cloud@latest/actions/how-tos/manage-runners/self-hosted-runners/remove-runners)\n\n  You can permanently remove a self-hosted runner from a repository."}