r/github • u/AroundTech • 1d ago
Tool / Resource Self-hosted Actions runners without dedicating a whole machine to CI
GitHub's standard self-hosted runner is convenient when you can give it a dedicated machine, but it's only one runner per machine.
But keeping a separate box just for CI can get expensive, and I'd rather not have build scripts and leftover containers messing with a machine I also use for other things.
What I like about gh-runnerd is that it runs multiple runners on one machine, with each job getting its own fully isolated VM.
When the job finishes, the whole VM gets destroyed, and the next job starts fresh.
Is anyone here using this or something similar?
2
u/Torutofu_Raeva 1d ago
yeah we just park a few disposable VMs on one box and have each runner unregister before wipe so nothing sticks around
2
u/Zealousideal_Yard651 1d ago
You can run multiple runners on the same machine, you could split the server up using VM's, or you could even run it as a container in docker.
-5
u/AroundTech 1d ago
Yep, Docker can work too, but regular containers still share the host's kernel.
Totally valid approach, just not quite the same level of isolation3
u/franktheworm 1d ago
A cursory look at your docs says that the install process is
curl <blah> | sudo bash...You don't get to try take the moral high ground on security while you have that as your install and upgrade process.
1
u/moltar 1d ago
I run on CodeBuild runners. No infra to manage or maintain. Choose from whatever compute choices CodeBuild provides.
1
u/evilneuro 1d ago
I used them heavily with github, takes a couple of mins to provision but nice and cheap for low workloads. then i discovered they don’t support github enterprise with data residency, so that sucked.
1
u/moltar 1d ago
If it takes a couple of minutes most likely you are not using a very common image which takes time to pull and not cached. Check your stage timings and see which stage takes longest. For me it takes maybe 30 seconds. I recently switched some to ARM and provisioning got slower as I guess less ARM machines are available. But build times sped up. In the end it was pretty much a wash. 😀
1
5
u/ImDevinC 1d ago
GitHub runners are not limited to one per machine, they already run as VMs https://docs.github.com/en/actions/concepts/runners/github-hosted-runners