{"id":27867521,"url":"https://github.com/andiempettjisc/serverless-github-self-hosted-runners","last_synced_at":"2025-05-04T22:48:34.184Z","repository":{"id":155282856,"uuid":"333210840","full_name":"andiempettJISC/serverless-github-self-hosted-runners","owner":"andiempettJISC","description":"A Serverless Architecture AWS CDK application to run GitHub Actions Self-Hosted Runners in ECS Fargate","archived":false,"fork":false,"pushed_at":"2021-01-26T21:29:58.000Z","size":95,"stargazers_count":1,"open_issues_count":4,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2023-12-08T09:22:22.441Z","etag":null,"topics":["aws","aws-cdk","cdk","cdk-examples","containers","fargate","github-actions","github-webhooks","scalable","serverless","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andiempettJISC.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-01-26T20:37:45.000Z","updated_at":"2023-12-08T09:22:25.029Z","dependencies_parsed_at":"2023-12-08T09:22:24.087Z","dependency_job_id":"87fc74cd-300e-447c-bc32-ae30936d2c77","html_url":"https://github.com/andiempettJISC/serverless-github-self-hosted-runners","commit_stats":null,"previous_names":["andiempettjisc/serverless-github-self-hosted-runners"],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andiempettJISC%2Fserverless-github-self-hosted-runners","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andiempettJISC%2Fserverless-github-self-hosted-runners/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andiempettJISC%2Fserverless-github-self-hosted-runners/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andiempettJISC%2Fserverless-github-self-hosted-runners/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andiempettJISC","download_url":"https://codeload.github.com/andiempettJISC/serverless-github-self-hosted-runners/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252411773,"owners_count":21743603,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","aws-cdk","cdk","cdk-examples","containers","fargate","github-actions","github-webhooks","scalable","serverless","typescript"],"created_at":"2025-05-04T22:48:33.387Z","updated_at":"2025-05-04T22:48:34.159Z","avatar_url":"https://github.com/andiempettJISC.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Serverless GitHub Self-Hosted Runners\n## A Serverless Architecture AWS CDK application to run GitHub Actions Self-Hosted Runners in ECS Fargate\n\nThis project creates the nessasary resources in AWS to run GitHub Self-Hosted runners. More information here https://docs.github.com/en/free-pro-team@latest/actions/hosting-your-own-runners/about-self-hosted-runners\n\nUnder the hood the brilliant containerised version of actions-runner is provided by https://github.com/myoung34/docker-github-actions-runner\n\n## Getting Started\n\nInstall the dependancies for both CDK and the Lambdas:\n```\nnpm install\ncd src \u0026\u0026 npm install\ncd ..\n```\n\nedit the `cdk.json` `github_repos` parameter and add the names of the repo(s) you wish to run self-hosted runners against\n\nBuild and deploy the CDK app:\n```\nnpm run build\ncdk deploy -c vpc_name=example.vpc.dev -c github_owner=ExampleGithubOrgName\n```\n\nalternatively `vpc_name` and `github_owner` can be configured in the `cdk.json`\n\n## Limitations\n* Docker Container type actions cannot run in Fargate. Use Javascript type actions: https://docs.github.com/en/actions/creating-actions/about-actions#types-of-actions\n* Docker Build, Run, etc commands cannot run in Fargate. [#1](https://github.com/androidwiltron/serverless-github-self-hosted-runners/issues/1) Builds may be done using a dedicated kaniko task\n* Only Supports GitHub Organisation level runners. [#2](https://github.com/androidwiltron/serverless-github-self-hosted-runners/issues/2) Support Repository and Enterprise level runners\n* Scaling up/down runners may lag by a minute as its run by a cron event. [#3](https://github.com/androidwiltron/serverless-github-self-hosted-runners/issues/3) An option to scale up via a webhook trigger\n* The maximum number of `pending`/`in-progress` workflows per repository cannot exceed 100. [#4](https://github.com/androidwiltron/serverless-github-self-hosted-runners/issues/4) Implement limited pagination for octokit API call\n\n## Alternatives\n\n* https://github.com/philips-labs/terraform-aws-github-runner\n* https://github.com/intercept6/aws-cdk-actions-self-hosted\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandiempettjisc%2Fserverless-github-self-hosted-runners","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandiempettjisc%2Fserverless-github-self-hosted-runners","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandiempettjisc%2Fserverless-github-self-hosted-runners/lists"}