Builds are usually disk-bound before they are CPU-bound. NVMe storage is what removes the visible wait in dependency installation.
CI/CD build VPS
Self-hosted CI/CD runners on an Indian VPS
A self-hosted runner for GitHub Actions, GitLab CI or Jenkins turns per-minute build billing into a fixed monthly cost, and lets builds reach internal systems that a hosted runner cannot see.
Sizing
Three honest starting points.
Pick the row that describes what you have now, not what you hope to have in a year. Moving up a tier later is easier than paying for headroom you never use.
| If you are running | Start at | Specification | Monthly | |
|---|---|---|---|---|
| One or two runners, small projects 6 vCPU and fast NVMe cover most language build steps. | VPS 16 | 6 vCPU / 16 GB RAM / 160 GB NVMe | ₹2,399 | Deploy |
| A team's full pipeline Parallel jobs need cores; caches need disk. | VPS 32 | 12 vCPU / 32 GB RAM / 320 GB NVMe | ₹4,799 | Deploy |
| Container image builds at volume Layer caching and registry pushes are disk and network heavy. | VPS 64 | 24 vCPU / 64 GB RAM / 640 GB NVMe | ₹9,599 | Deploy |
Worth knowing first
Three things most pages about this leave out.
A self-hosted runner executes whatever the pipeline says. Do not attach one to a public repository that accepts pull requests from strangers.
Fixed monthly pricing only beats per-minute billing above a certain volume. Work out your current minutes before switching.
Setup checklist
Do these on day one.
- Isolate runners per project or per trust boundary.
- Clean the workspace between jobs; stale state causes false passes.
- Cache dependencies on the NVMe volume, not in the container layer.
- Rotate the runner registration token on a schedule.
Recommended plan
A self-hosted runner for GitHub Actions, GitLab CI or Jenkins turns per-minute build billing into a fixed monthly cost, and lets builds reach internal systems that a hosted runner cannot see.
- PlanVPS 16
- Specification6 vCPU / 16 GB RAM / 160 GB NVMe
- Monthly₹2,399 excl. GST
- VirtualisationKVM
- AccessFull root / administrator
- NodesMumbai, Noida, Jaipur
Common questions
CI/CD build VPS, answered.
Is a self-hosted runner cheaper than hosted CI minutes?
It becomes cheaper above a certain monthly volume. Take your current billed minutes, price them against a fixed monthly plan, and include the time you will spend maintaining the runner. For a busy team the answer is usually yes; for occasional builds it is usually no.
How much CPU does a build server need?
Start at 6 vCPU with 16 GB and NVMe storage. Most pipelines are limited by dependency installation and disk I/O before they are limited by cores, so fast storage matters more than the core count on the invoice.
Can I run Docker builds on the runner?
Yes. KVM virtualisation means the server has its own kernel, so Docker, BuildKit and layer caching work normally. Allow generous disk for the build cache.
Is it safe to attach a runner to a public repository?
No. A self-hosted runner executes the workflow file from the branch being tested, so a pull request from an untrusted contributor can run arbitrary code on your server. Use hosted runners for public repositories and self-hosted runners for private ones.
VPS by workload
Next step
Send the stack, get a size.
Tell us the operating system, application stack, current traffic, database size and where it hurts today. You get a sizing recommendation, the matching plan and a price.