Is a rented dedicated server cheaper than GitHub-hosted runners for CI?
GitHub bills hosted runners by the minute. A rented machine costs the same whether it builds for one hour or all month. Here is where the two lines cross, using GitHub's own price list.
Is a rented dedicated server cheaper than GitHub-hosted runners for CI?
Yes, a rented dedicated server is cheaper than GitHub-hosted runners for CI once your builds run for thousands of minutes a month. GitHub bills per minute: $0.006 for a 2-core Linux runner and $0.042 for a 16-core one (GitHub Docs, 1 November 2026). Lumenfer's Lumen 16, with 16 cores / 32 threads, costs a flat $205.27 per 30 days, paid in crypto with no KYC.
$12 of compute on Free, $18 on Pro and Team, $300 on Enterprise Cloud
Self-hosted runner fee on GitHub
None listed: GitHub's billing docs class self-hosted runners as free usage
Lumen 16
AMD Ryzen 9 9950X (2024, 16 cores / 32 threads), 128 GB DDR5, 2 × 1.92 TB NVMe in RAID 1, 60 TB a month at 1 Gbit/s, 1 IPv4 and an IPv6 /64
Price
Lumen 6 $91.65, Lumen 8 $109.37, Lumen 16 $205.27, Lumen 24 $356.25, Lumen 32 $749.67 per 30 days
Payment
Crypto only: BTC, USDT, USDC, ETH, SOL, LTC; no KYC
Setup
Up to 72 hours from the moment your payment is confirmed
How much do GitHub-hosted runners cost per month?
A GitHub-hosted runner costs its per-minute rate times your job minutes, and GitHub rounds each job up to a whole minute. The price list read on 1 November 2026 starts at $0.002 a minute for a 1-core Linux runner. Larger runners need a Team or Enterprise Cloud plan, and they are billed even in public repositories.
The table multiplies GitHub's Linux x64 rates by four monthly volumes. 43,200 minutes is one runner kept busy around the clock for 30 days. Every figure is before included compute.
GitHub-hosted Linux runners: monthly cost at four volumes
Swipe to see every column
Rates from GitHub Docs, Actions runner pricing; specs from the GitHub-hosted and larger runners references. Read on 1 November 2026.
Runner (GitHub's spec)
Per minute
5,000 min
10,000 min
20,000 min
43,200 min
2-core standard (2 CPU, 8 GB)
$0.006
$30.00
$60.00
$120.00
$259.20
8-core larger (8 vCPU, 32 GB)
$0.022
$110.00
$220.00
$440.00
$950.40
16-core larger (16 vCPU, 64 GB)
$0.042
$210.00
$420.00
$840.00
$1,814.40
32-core larger (32 vCPU, 128 GB)
$0.082
$410.00
$820.00
$1,640.00
$3,542.40
64-core larger (64 vCPU, 256 GB)
$0.162
$810.00
$1,620.00
$3,240.00
$6,998.40
Prices checked on
At how many minutes does a rented server become cheaper?
Divide the server's 30-day price by the per-minute rate of the runner it replaces: above that many minutes, the server is cheaper. The server's price does not move with usage. Quiet weekends cost the same as release week.
Against 2-core standard runners, the crossover sits much higher, because $0.006 a minute is cheap. Short jobs on small runners rarely justify a server on price alone. Long builds, big test matrices and many parallel jobs are where a flat price wins. A 3-, 6- or 12-month term lowers the server side further.
Is a 16-core GitHub runner the same as a 16-core rented server?
No: GitHub's larger-runner table counts vCPUs, while Lumenfer plans list physical cores and their threads. GitHub's 16-core Linux runner has 16 vCPU, 64 GB of RAM and a 600 GB SSD. Lumen 16 has 16 cores / 32 threads, 128 GB DDR5 and 2 × 1.92 TB NVMe.
Two other differences often matter more than the core count:
Caches survive between jobs. GitHub's reference describes each hosted runner as a new virtual machine. A rented server keeps Docker layers, package downloads and compiler caches warm unless you wipe them.
Nothing else shares the box. No hypervisor and no neighbours: all cores, all memory and every NVMe drive of the machine work for you alone.
The flip side is isolation. GitHub notes that self-hosted runners do not need a clean instance for every job. That speeds builds up, and it also lets one job see what an earlier job left behind. Our guide to choosing build server hardware covers sizing in detail.
What does a self-hosted runner cost besides the server?
Mostly your time: GitHub makes you responsible for the runner machine's operating system, software and security. GitHub's docs call self-hosted runners free to use with Actions. The machine, its upkeep and its risks are yours.
Updates. The runner application updates itself when a job arrives. Turn that off, and GitHub requires you to update within 30 days of a new release.
Fixed capacity. Jobs queue when every runner is busy. GitHub cancels a job that has waited 24 hours.
Setup takes days, not seconds. Servers are prepared by a person once your payment is confirmed, within 72 hours rather than instantly; the dashboard shows progress and then the IP address when the machine is ready.
No remote console. There is no IPMI or KVM-over-IP console for customers: you request reboots and reinstalls in the dashboard and the team performs them.
No backups. Backups are not included: keep copies of your data somewhere else.
Linux only. Linux images only: Debian, Ubuntu, AlmaLinux and Rocky Linux, plus Proxmox VE for running virtual machines on the hardware. Windows is not offered. Keep Windows jobs ($0.010 a minute on 2 cores) and macOS jobs ($0.062) on GitHub.
Stay on GitHub-hosted runners for public repositories, small volumes, macOS or Windows builds, and short bursts of heavy parallelism.
Public repositories. Standard hosted runners cost nothing there. GitHub also warns that self-hosted runners should almost never serve public repositories, because a pull request from a fork can run code on them.
Small volumes. At $0.006 a minute, the $18 included on Pro and Team covers 3,000 minutes of 2-core Linux.
Burst parallelism. GitHub allows 60 concurrent standard jobs on Team and 500 on Enterprise. One server runs only as many jobs as its runners and cores allow.
The cheapest setup is often a mix: heavy Linux builds on a rented machine, everything else on GitHub. One label in runs-on decides where each job lands. For the wider picture beyond CI, read whether bare metal is cheaper than the cloud.
How do rented bare-metal prices compare for a CI machine?
In Lumenfer's check of 30 October 2026, a no-KYC crypto server with 8+ cores, 64 GB and 1 TB had a median price of $291.52. With a 2022-or-newer CPU and NVMe only, that median rose to $356.07, 22% more. Newer CPUs cost extra almost everywhere; our plans aim to remove that premium.
Mainstream hosts stay cheaper on older hardware. Hetzner's server auction started at €37.70 a month plus an IPv4 address on 30 October 2026, but Hetzner takes no crypto. Every plan and term is on the Lumenfer pricing page. If you are unsure how many cores to rent, start with how many CPU cores a rented server needs.
Lumen 16 and Lumen 32 against named 16-core and 32-core servers at no-KYC crypto hosts
Server
Specs
Price per month
Lumenfer Lumen 16
AMD Ryzen 9 9950X (2024, 16 cores / 32 threads), 128 GB DDR5, 2 × 1.92 TB NVMe in RAID 1, 60 TB a month at 1 Gbit/s, 1 IPv4 and an IPv6 /64
AMD EPYC 9354 (2022, 32 cores / 64 threads), 384 GB DDR5 ECC, 2 × 3.84 TB NVMe in RAID 1, 150 TB a month at 1 Gbit/s, 1 IPv4 and an IPv6 /64
$749.67
MonoVM: EPYC 9354/384/2x3.84TB NVMe
EPYC 9354, 32 cores / 384 GB / 2x3840 GB
$999.57
1Gbits (second cheapest)
Comparable 32-core server
$1038.02
Median of 6 hosts
Comparable 32-core servers
$1476.45
Prices checked on
Crypto-paying hosts with no ID check at signup; 2022+ CPU, NVMe only, monthly billing. 1 EUR = 1.1172 USD (ECB, 30 October 2026). MonoVM and 1Gbits accept crypto through several processors, including Cryptomus/Heleket, a processor the UK designated for sanctions on 8 October 2026.
Which Lumenfer plans replace GitHub's larger runners?
Each plan is a whole machine for one customer, billed per 30 days, 3 months, 6 months or 12 months from a crypto balance. Amsterdam (Netherlands), Reykjavik (Iceland), Zurich (Switzerland) and Bucharest (Romania): all five plans in all four cities, one price everywhere.
In every plan: 2022+ CPU · DDR5 · NVMe only · RAID 1 · Dedicated IPv4 · No KYC
Self-hosted runner vs GitHub-hosted cost: FAQ
Are self-hosted GitHub Actions runners free?
Yes, on GitHub's side. Its billing docs, read on 1 November 2026, list self-hosted runners among usage that stays free and does not draw on included compute. GitHub announced a $0.002-per-minute platform charge for them in December 2025, then postponed it without a new date. You still pay for the machine.
How many free GitHub Actions minutes do I get?
GitHub now states the allowance in dollars, not minutes: $12 a month on Free, $18 on Pro and Team, $300 on Enterprise Cloud. GitHub's own example: $300 covers 50,000 minutes of a standard Linux runner at $0.006. Standard runners in public repositories are free and leave that allowance untouched.
Can one rented server run several CI jobs at the same time?
Yes. Register several runners on the machine, each in its own folder with its own service, and each takes one job at a time. Size them so your heaviest jobs fit in memory together. With 16 cores / 32 threads, four runners of eight threads each is a common split.
Can a Lumenfer server replace macOS and Windows runners?
No. Linux images only: Debian, Ubuntu, AlmaLinux and Rocky Linux, plus Proxmox VE for running virtual machines on the hardware. Windows is not offered. Keep macOS and Windows jobs on GitHub-hosted runners and move only Linux builds and tests to the rented machine. GitHub lists $0.010 a minute for a 2-core Windows runner and $0.062 for macOS.
What happens to queued jobs if my server goes offline?
GitHub cancels a job that has waited in the queue for 24 hours. A runner that does not connect for more than 14 days is removed from GitHub and must be registered again. Our servers come without a remote console, so keep a second SSH session open during risky changes.
How fast is the server ready, and how do I pay?
Servers are prepared by a person once your payment is confirmed, within 72 hours rather than instantly; the dashboard shows progress and then the IP address when the machine is ready. You pay from a crypto balance in BTC, USDT, USDC, ETH, SOL, LTC, with a minimum top-up of $25. No KYC: we never ask for an ID, a selfie, documents, a card or a phone number.