Real Virtual Machines
No docker-in-docker or privileged security settings to tune. No Kubernetes. Optimized boot time in less than 30s.
Easy to setup. 85% cheaper than GitHub Actions.
Our main repository saw an average decrease in CI runtime of 35%. Another repository could fully utilize 16 threads, which dropped its runtime by 75%.
Forget rigid runner configurations. Specify RAM, CPU, GPU, DISK size, instance type, static IP support, and more at runtime:
A compatible 2-CPU x64 runner:
A 2-CPU ARM64 runner:
A 16-CPU x64 runner with a custom image:
A specific instance type with 950GB of NVMe SSD local storage:
A runner with a static egress IP, and SSH disabled:
A runner targetting a specific environment:
RunsOn currently supports 3 runner types:
Finally get the runners your team deserves.
Forget manually maintained self-hosted runners that limit concurrency, or spending hours to setup and maintain Action Runner Controller (ARC) on your Kubernetes cluster. Simplicity, performance, and low-maintenance are the design goals of RunsOn.
Real Virtual Machines
No docker-in-docker or privileged security settings to tune. No Kubernetes. Optimized boot time in less than 30s.
Unlimited Concurrency
RunsOn can handle hundreds of concurrent jobs at once. More than 150k jobs executed every day across all clients. The only limit is your AWS EC2 quota (which can easily be increased when needed).
Spot Instances
Take advantage of unused capacity in AWS for up to 90% savings. Automatically fallback to on-demand instances when spot is not available. Learn more about spot instances.
Faster and Unlimited Caching
A local S3 bucket can act as the cache backend for dependency caching with unlimited size, as well as for Docker layers caching.
Linux, Windows, GPU runners
Get access to native x64 and arm64 runners for Linux, as well as GPU and Windows runners, irrespective of your GitHub plan.
Fully Self-hosted on AWS
No third-party, no dependencies, fully self-hosted in your AWS account. See the security page for more details.
Access private resources
RunsOn VPC can easily be peered with your existing VPCs, so that runners can access private services and resources.
Static IPs supported
RunsOn can assign static IPs to your runners, so that they can access external services that filter on IP address.
Bring your own images
RunsOn supports custom images for your runners, so that you can use your own base images.
Full SSH access
Need to debug something? RunsOn supports SSH access to your runners.
Get your first self-hosted runner up and processing a job on GitHub in less than 10 minutes.
RunsOn is available in 10 AWS regions. Follow the installation guide to setup RunsOn, or watch the demo below to see how it works:
No middleman, a single flat license fee (free for non-commercial use) irrespective of minutes used. You only pay for your EC2 usage, billed directly by AWS. Even better if you have unused AWS credits!
Some users report more than $30k in savings, EVERY MONTH.
Look at the pricing calculator to see how much you can save compared to GitHub runners. And we regularly benchmark RunsOn against other third-party and official runners.
RunsOn is used by companies of all sizes, from startups to large enterprises.
Millions of runners have been launched with RunsOn since its inception in January 2024.
RunsOn can count on the following sponsors to support the project, thanks ❤️:
Some of RunsOn’s other awesome users and feedback:
I've been testing Kubernetes with ARC: more complex, each runner takes ~25 seconds to boot (on an existing node), far less attractive than the simplicity of RunsOn.
Less than 10 min to test, install and use the product. You can finetune any workflow (CPU, RAM, machine type/size..) depending on your needs. The cache download speed is blazing fast thanks to amazon s3 endpoint. Pricing is transparent, pay only what you use with no overage.
With RunsOn, we have increased CI/CD performance and reliability at a fraction of the cost of official or private hosted runners – it's a no-brainer for any DevOps team using GitHub actions at scale.
We've just started using self hosted runners, and we were looking into possible solutions, including running them in Kubernetes, but then we found RunsOn: it's definitely what we needed! The fact that instances are compatible with the github hosted runners made the transition very smooth.
Low maintenance
RunsOn comes as a CloudFormation stack that you install in your own AWS account (10 regions supported). One-click install, one-click upgrades.
The server receives workflow events from GitHub Action, and launches ephemeral EC2 instances to fulfill the workflow job requirements (see architecture).
No need to manage a Kubernetes cluster with Action Runner Controller (ARC), or deploy complicated, half-maintained stacks.
Observable
RunsOn automatically publishes metrics for consumed minutes across repository, workflows, runner types, and result (success, failure).
Can be used to monitor the most expensive workflows, detect anomalies, and gain insights into failure rates of your workflows.
10x cheaper, for 10 minutes of work
You can always switch back to official runners at any time.
Get started →
Most likely YES: If you spend more than $100/month on GitHub Actions, or find yourself constantly babysitting your own self-hosted runners, then you will definitely get a meaningful return on investment by switching to RunsOn. You also get access to custom ARM runners and GPUs, irrespective of your GitHub plan, even on the free tier.
If you are already heavily invested into Kubernetes, then ARC might not be too much work for you to setup and operate. However, RunsOn is much simpler to install, requires zero maintenance, and has a much better feature set than ARC: flexible runner types, 1-1 compatible images, integrated caching, real VMs, static IPs, fast boot times.
Philips Terraform module is entirely Open-Source and free, contrary to RunsOn where you pay a small license fee for commercial use (non-commercial use is free). The terraform module is harder to setup and operate, and has a more limited feature set: no image compatibility with GitHub, slower boot times in ephemeral mode, fixed runner types, no integrated caching, hard to debug failure modes due to extensive use of lambdas.
There are great 3rd-party providers for self-hosted GitHub Actions runners (benchmarked here). However they are 3rd-parties, so you must be aware of the security implications of using them. RunsOn is fully self-hosted, does not depend on third-parties, has the best pricing, and features you won’t find over there at the same price point (unlimited concurrency, SSH access, static IPs, fast and consistent boot times, the widest choice of instance types, etc).
RunsOn is fully self-hosted, and does not depend on third-parties. You can deploy it in your own AWS account, and have a look at our dedicated security page for more details.