Skip to content
250k+
daily jobs
Zero
k8s headaches
90%
cost savings

Self-hosted GitHub Actions runners for AWS

Trusted by 300+ companies of all sectors and sizes. Deploys directly into your AWS account. No third-party.

Faster build times, shocking cost savings

nodejs/node

↓92% cost ↓29% time
RunsOn 16 CPU
$0.150 22.1min
GitHub 16 CPU
$1.997 31.2min

gohugoio/hugo

↓90% cost ↓7% time
RunsOn 16 CPU
$0.070 10.3min
GitHub 16 CPU
$0.716 11.2min

Easy to setup. 85% cheaper than GitHub Actions.

-
Maxime Laurenty, Head of Infrastructure at Spinergie
RunsOn - 10x cheaper GitHub Actions runners, self-hosted on AWS | Product Hunt

Enterprise-grade runners without the complexity

⚡️ Blazing fast builds

💰 Maximum cost savings

  • Up to 90% cheaper with AWS Spot instances
  • Across multiple AZs
  • Automatic fallback to on-demand
  • Use your existing AWS credits

📈 Scales with your needs

  • Hundreds of concurrent jobs at once
  • 250k+ daily jobs across users
  • Multi-AZ for high availability
  • Only limited by your AWS quotas

✨ Supercharged caching

  • VPC-local S3 cache backend
  • Up to 5x faster transfers
  • Unlimited storage for caching
  • All caching actions supported

🔒 Enterprise-ready

☸️ Complete control

  • 100% self-hosted in your AWS account
  • No third-party dependencies
  • Full audit capabilities

🛡️ Secure

  • Real EC2 VMs for complete isolation
  • Ephemeral, recycled after each job
  • Regularly maintained and patched
  • Security taken seriously

🔄 Best alternative to

  • GitHub-hosted runners
  • Actions Runner Controller (ARC) for Kubernetes
  • Philips terraform-aws-github-runner
  • Homegrown solutions

We're in the process of moving from CircleCI to Github Actions. We've been using Actions Runner Controller on EKS, but hit a number of scaling issues, job pickup delays, and job cancellations.

We started trialing RunsOn to see how other options might fair compared to ARC and have been thoroughly impressed.

-
David Moran, Lead DevSecOps Engineer at SmithRx

Flat license fee that won’t break the bank

Evaluate for free for 15 days.

Free for non-commercial use300€/year for commercial use

Per-second billing

No middleman markup

Use your AWS credits

Been using RunsOn for a quarter. We saved around 75% our costs, and our tests now run around 5x faster because we can use gigantic spot instances cost-effectively.

-
Tim Dumol, Founding Engineer & Chief of Infrastructure at Expedock

Perfectly right-size your runners, with dynamic runner configuration

Forget rigid runner configurations. No one wants to pay for a 2CPU/8GiB machine when your workflow can run with a 2CPU/4GiB instance. Take advantage of the wide selection of AWS instances to get even more savings and stop wasting resources. Specify RAM, CPU, GPU, DISK size, instance type, static IP support, and more at runtime:

runs-on: ubuntu-latest # ⤵️ replace with

A compatible 2-CPU x64 runner:

runs-on:
- runs-on=${{ github.run_id }}
- runner=2cpu-linux-x64

A 2-CPU ARM64 runner:

runs-on:
- runs-on=${{ github.run_id }}
- runner=2cpu-linux-arm64

A 16-CPU x64 runner with a custom image:

runs-on:
- runs-on=${{ github.run_id }}
- family=c7a+c7i
- cpu=16
- image=custom-image-x64

c7gd instance (950GB of NVMe local storage), using Ubuntu24 for ARM64:

runs-on:
- runs-on=${{ github.run_id }}
- family=c7gd.4xlarge
- image=ubuntu24-full-arm64

A runner with a static egress IP, and SSH disabled:

runs-on:
- runs-on=${{ github.run_id }}
- runner=2cpu-linux-x64
- private=true
- ssh=false

A runner targetting a specific environment:

runs-on:
- runs-on=${{ github.run_id }}
- runner=2cpu-linux-x64
- env=staging

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.

-
Christopher Brookes, SRE at Choose

Battle-tested CloudFormation stack. Maintenance-free.

Available in 10 AWS regions. Install now in 10 minutes or watch the demo:

Join companies that get faster CI, at lower cost

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.

-
Tim Petricola, Software Engineer at Alan

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.

-
Oliver Günther, DevOps Team at OpenProject

10x cheaper, for 10 minutes of work

You can always switch back to official runners at any time.

Get started →

FAQ

Is RunsOn for me?

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.

Is this better than Action Runner Controller (ARC)?

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.

Is this better than the Philips Terraform AWS GitHub Runner?

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.

Is this better than [other 3rd-party provider]?

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).

What about security?

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.

Learn more