{"id":46083447,"url":"https://github.com/maxpeterkaya/virtual-runner","last_synced_at":"2026-03-01T16:15:26.004Z","repository":{"id":310518817,"uuid":"1040220518","full_name":"maxpeterkaya/virtual-runner","owner":"maxpeterkaya","description":"Run self-hosted GitHub Runners in docker with resource limitations and scalability.","archived":false,"fork":false,"pushed_at":"2025-08-19T01:22:44.000Z","size":8,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-19T03:24:52.966Z","etag":null,"topics":["docker","github","runner"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maxpeterkaya.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-18T16:29:20.000Z","updated_at":"2025-08-19T01:22:17.000Z","dependencies_parsed_at":"2025-08-19T03:25:00.828Z","dependency_job_id":null,"html_url":"https://github.com/maxpeterkaya/virtual-runner","commit_stats":null,"previous_names":["maxpeterkaya/docker-runner","maxpeterkaya/virtual-runner"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/maxpeterkaya/virtual-runner","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxpeterkaya%2Fvirtual-runner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxpeterkaya%2Fvirtual-runner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxpeterkaya%2Fvirtual-runner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxpeterkaya%2Fvirtual-runner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxpeterkaya","download_url":"https://codeload.github.com/maxpeterkaya/virtual-runner/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxpeterkaya%2Fvirtual-runner/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29974625,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-01T15:41:30.362Z","status":"ssl_error","status_checked_at":"2026-03-01T15:37:07.343Z","response_time":124,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["docker","github","runner"],"created_at":"2026-03-01T16:15:25.392Z","updated_at":"2026-03-01T16:15:25.993Z","avatar_url":"https://github.com/maxpeterkaya.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dockerized GitHub Runner\n\nThis project aims to simplify the process of making a self hosted action runner by allowing the user to neatly limit system resources, ensure constant up-time, and enhance scalability.\n\n## Roadmap\n\n- Generate custom name, if not provided one, with helpful information like host, region, and platform.\n- Structured logs (this is primarely just an idea and may not even be implemented)\n\n## Capabilities\n\nCurrently only Linux is supported, however Mac and Windows will be soon also supported.\n\n- Custom runner name (with randomly generated suffix to ensure uniqueness when horizontally scaling)\n- Automatic clean-up\n- Organization Runner\n- Personal Repository Runner\n\n## Getting Started\n\nPer the ``docker-compose.yml`` file, use this template and fill-in the environment variables.\n\nYou can grab your runner token by going to your organization or personal repository **Settings** page, clicking on **Actions** and **Runners**, then **New self-hosted runner**.\n\nYour token should in the **Configure** box. ex:\n\n```bash\nConfigure\n\n./config.sh --url https://github.com/maxpeterkaya/docker-runner --token YOUR_TOKEN\n```\n\nCopy YOUR_TOKEN then to the environment variable in the docker-compose file.\n\n```yml\nservices:\n  runner:\n    image: ghcr.io/maxpeterkaya/docker-runner:latest\n    restart: always\n    environment:\n      - OWNER= # This can be just an org or a repo, eg. ORG: github | REPO: maxpeterkaya/docker-runner\n      - TOKEN= # This is your token you recieve from github when creating a new self hosted runner\n      - NAME=  # This is your runner's name for easier distinction\n    deploy:\n      resources:\n        limits:\n          cpus: '0.5'\n          memory: 512M\n        reservations:\n          cpus: '0.3'\n          memory: 256M\n\n```\n\nRefer to the [docker compose reference](https://docs.docker.com/reference/compose-file/deploy/#resources) for more details about the resources configuration.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxpeterkaya%2Fvirtual-runner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaxpeterkaya%2Fvirtual-runner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxpeterkaya%2Fvirtual-runner/lists"}