Skip to content

Any runner. Any size. Fully yours.

Self-hosted GitHub Actions runners with the full power of AWS EC2.
x64, ARM64, GPU — from 1 to 896 vCPUs.
896
max vCPUs
Any
instance type
100%
self-hosted
runs-on: ubuntu-latest

runs-on: runs-on/runner=2cpu-linux-x64
# Compatible x64 runner with 2 CPUs

🚀

Wait, any runner?

Run any workload

From tiny 1-vCPU jobs to 896-vCPU monsters. ARM64, GPU, NVMe storage. Pick any EC2 instance type — no artificial limits.

  • ✓ 1 to 896 vCPUs
  • ✓ x64, ARM64, GPU
  • ✓ Spot + on-demand
  • ✓ Linux & Windows
🔒

And it's fully self-hosted?

100% in your AWS

No external control plane. No SaaS dependency. Your code, secrets, and logs never leave your VPC.

  • ✓ Deploy in 10 minutes
  • ✓ One CloudFormation click
  • ✓ No Kubernetes needed
  • ✓ Zero third-party access
💰

This is 10x cheaper??

90% lower cost

Pay AWS directly for compute (use your credits!). Small yearly license. Same runner, fraction of the price.

  • ✓ 16-core: $294/mo vs GitHub’s $2,765/mo
  • ✓ Use your AWS credits
  • ✓ No per-minute markup
  • ✓ Free for non-profits

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

How it works

Everything runs in your AWS account. We never see your code, your secrets, or your workflows.

Architecture overview

graph TD
    A[GitHub]

    subgraph AWS["Your AWS Account"]
        B[RunsOn Control Plane]
        C[EC2 Runner Ephemeral]
        D[Your Job]
        E[S3 Cache]

        B -->|launches| C
        C -->|runs| D
        C -->|caches to| E
    end

    A -->|webhook| B

    style A stroke:#ddd,stroke-width:2px
    style B fill:#22c55e,stroke:#16a34a,color:#fff
    style C fill:#3b82f6,stroke:#2563eb,color:#fff
    style D stroke:#ddd,stroke-width:2px
    style E fill:#8b5cf6,stroke:#7c3aed,color:#fff

What stays in your account

  • All runner compute (EC2 instances)
  • All build artifacts and caches (S3)
  • All logs and metrics (CloudWatch)
  • All secrets and environment variables
  • Network traffic stays in your VPC

What RunsOn provides

  • CloudFormation template for deployment
  • Pre-built runner images (updated weekly)
  • License validation (one-time check)
  • Documentation and support

Not a black box

Unlike closed-source SaaS providers, a lot of RunsOn’s code is available on GitHub. Audit it, understand it, and with a Sponsorship license, access the full source code and modify it for your needs.

View on GitHub →

Trusted by 500+ engineering teams

Processing millions of jobs weekly across all customers

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

Explore RunsOn

Everything you need to get started and master self-hosted runners

🚀

New to RunsOn?

Getting Started

📚

Technical Docs

Reference

💡

Learn More

Resources

Simple pricing, shocking savings

How it works

  • Small yearly license fee (from €300)
  • Pay AWS directly for compute
  • Use your AWS credits
  • 15-day free trial included
  • Free for non-profits and individuals

Quick Math

GitHub (16-core):$2765/mo

RunsOn license:€25/mo

AWS compute:$294/mo

Your savings:$2446/mo

We've been using RunsOn for a short while and have already seen massive savings compared to using GH actions with larger runners. The ease of setup is also amazing, where it says on the website that it will take 10 minutes to setup I think that's understating how simple and quick it is to get going.

Chad Lamb, Software Engineer at RelyComply

Why teams choose RunsOn

RunsOnGitHub-hostedARC (k8s)3rd-party
Control planeYour AWSGitHub’s serversYour k8sTheir servers
Data residencyYour choiceGitHub regionsYour choiceTheir regions
Secrets exposureNever leaves VPCGitHub infraYour infraTheir infra
Instance choiceAny AWS typeA few sizesLimitedLimited
Setup time10 minutesInstantDaysMinutes
MaintenanceNear-zeroZeroHighZero
Monthly cost (16-core)$294$2,765$300 + ops$500-1500

How is RunsOn different from GitHub-hosted runners?

RunsOn gives you the same ephemeral runner experience but at 90% lower cost, with faster performance, and running entirely in your AWS account. You get access to any AWS instance type, including GPUs and ARM processors.

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.

How hard is it to migrate?

Very easy. In most cases, you just replace runs-on: ubuntu-latest with runs-on: runs-on/runner=2cpu-linux-x64. Your existing workflows, caching, and actions work without changes.

What if I need help?

RunsOn comes with email support, comprehensive documentation, and most issues are addressed within hours. A community Slack channel is available for paying customers, and Sponsors get priority support and a dedicated Slack Connect channel with the maintainer.

What about Actions Runner Controller (ARC)?

ARC requires Kubernetes expertise and ongoing maintenance. RunsOn is a managed solution that deploys with one click, requires zero maintenance, and offers better features like native image compatibility, static IPs, and integrated S3 caching.

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.

Ready to take control?

Deploy in 10 minutes. Available in 10 AWS regions.