Dedicated Server

Self-Hosted GitLab Runner Hosting on Dedicated NVMe

Run your own self-hosted GitLab Runner on a bare-metal / dedicated server with local NVMe in Frankfurt — for fast, reproducible CI builds with no noisy neighbours. Full control over executor, caching and runtime, dedicated to you alone, GDPR-compliant, from €149/month.

Request a dedicated server

Shared CI minutes are convenient, but they carry two downsides: they're shared with other projects (noisy neighbours, fluctuating build times) and they add up fast to large bills under heavy pipeline use. Your own GitLab Runner on dedicated hardware flips that: consistent performance, predictable cost and data that never leaves your infrastructure.

Why local NVMe speeds up builds

CI builds are extremely I/O-heavy: installing dependencies, writing container layers, packing artifacts, reading caches. On shared network storage that becomes the bottleneck. Local NVMe delivers high IOPS right at the host — npm/yarn installs, Docker layer caching and test suites run noticeably faster. For large monorepos or container builds it's the single biggest lever.

Dedicated, not shared — no noisy neighbours

On a dedicated server the entire CPU is yours. No side job grabbing cores mid-build, no build times swinging with platform load. The Bthorio Dedicated (AMD Ryzen 9 3950X, 16 cores / 32 threads, 128 GB DDR4, 4 TB NVMe) handles several parallel runner jobs without them throttling each other.

CI runner options compared
FeatureBthorio DedicatedBthorio Cloud (Performance/Pro)Shared CI minutes
CPU allocationFully dedicated (bare metal)Fixed vCPUs, no overbookingShared
Storage4 TB local NVMeLocal NVMeVaries / network
Build timesConsistentConsistentFluctuating
Cost model€149/month fixedFrom €39.90/month fixedPer minute
Docker layer cachePersistent on NVMePersistent on NVMeOften ephemeral
Data locationFrankfurt, GDPRFrankfurt, GDPRVaries
Root/executor choiceFull (shell/Docker/K8s)FullLimited

Cloud server or dedicated server?

For single projects or moderate pipeline load, a cloud server on the Performance (€39.90) or Pro (€89.90) plan with fixed vCPUs and local NVMe is often enough. When you run many parallel jobs, heavy container builds or a large monorepo, the dedicated server gives you the full, unshared CPU. The difference in detail: dedicated server vs. cloud vServer .

  • Docker executor: cleanly isolated builds, persistent layer cache on NVMe
  • Shell executor: maximum speed for trusted pipelines
  • Kubernetes executor: multiple runner pods for parallel jobs
  • Your own cache and artifact strategies without third-party minute limits

Register and maintain the runner

Setup is quick: install the GitLab Runner package, register the runner with your project or group via a registration token, pick an executor (Docker, shell or Kubernetes) and assign tags. From then on your pipelines automatically use the dedicated hardware. For stable builds it pays to tune cache volumes, concurrency settings and regular cleanup of old Docker layers. Because everything sits on local NVMe , even large caches aren't a bottleneck — and the full CPU is available to your jobs at all times.

Frequently asked questions