Saltar al contenido principal
Development

Self-host GitLab Runner on a VPS

A self-hosted job runner for GitLab CI.

Execute GitLab pipelines on your own machines with Docker or shell executors, scaling runners independently of the GitLab server.

Why self-host GitLab Runner?

A separate runner host keeps heavy CI from starving your GitLab UI and keeps job secrets on your own hardware.

How to install GitLab Runner

  1. 1

    Provision a VPS

    Pick a Debian/Ubuntu template and get root SSH in about a minute.

  2. 2

    Install the runtime

    Install GitLab Runner + Docker.

  3. 3

    Deploy the application

    Net what you need from the project’s official source and run it.

  4. 4

    Put it behind TLS

    Reverse-proxy with Nginx and issue a Let’s Encrypt certificate.

  5. 5

    Add it to your backups

    Include the data directory and database in your backup routine before you rely on it.

Practical tips

  • Give GitLab Runner its own database user with rights only on its own schema.
  • Reverse-proxy GitLab Runner and terminate TLS at the proxy so certificates are managed in one place.
  • Take a VPS snapshot before major upgrades so you can roll back cleanly.
  • Keep GitLab Runner patched — most self-hosting incidents are unpatched software.

Frequently asked questions

How much RAM does GitLab Runner need?
Plan on 4 GB for typical use; add headroom if you expect many concurrent users.
What stack does GitLab Runner run on?
GitLab Runner + Docker.
Can I run other things on the same VPS?
Yes — size the plan so GitLab Runner plus your other workloads fit in RAM with room to spare.

Looking for something else? Popular alternatives include Drone runner, Woodpecker agent, act_runner — browse all app guides.