GitLab Hosting on Your Own VPS
Repositories, CI/CD and a container registry on your own server.
Size a server for GitLab
Every stop is a real configuration you can deploy. Priced per 30 days, billed by the hour, exclusive of 18% GST.
What GitLab is
GitLab is a complete DevOps platform: Git hosting, merge requests, issue tracking, CI/CD pipelines and a container registry in one application. Self-managed GitLab Community Edition is free and runs on your own hardware.
It is genuinely heavy, and this is where self-hosting most often goes wrong. A GitLab installation is not one process — it is Puma, Sidekiq, Gitaly, PostgreSQL, Redis, NGINX and several supporting services, all started by omnibus. GitLab documents 4 GB as a minimum and it means it; installations on 2 GB fail during the first reconfigure, not later under load.
CI runners are a separate decision and a good one to get right. Running runners on the same machine as GitLab means a heavy pipeline starves the web interface — the UI becomes unusable exactly when a build is running. Put runners on their own VPS and the two stop competing.
Why run GitLab on a VPS
Memory that meets GitLab's real requirement rather than its aspirational one.
Root access, which the omnibus package requires to configure its services.
Runners on a separate VPS over a private network, so builds do not starve the UI.
Disk that can be extended as repositories, artefacts and registry images accumulate.
GitLab features
Git hosting with merge requests and code review
CI/CD pipelines with a YAML definition
Container registry
Issue tracking, boards and milestones
Package registries for several ecosystems
Wiki and snippets
LDAP and OAuth authentication
Recommended server
A starting point for GitLab, not a hard floor — size it on the sliders.
| Memory | 8 GB. The documented 4 GB minimum leaves nothing for actually using it |
|---|---|
| CPU | 4 vCPU |
| Storage | 80 GB and upward — repositories, artefacts and registry images all grow |
| Operating system | Ubuntu 22.04 LTS, which the omnibus package targets |
How deployment works
GitLab is installed from the omnibus package, which brings its own PostgreSQL, Redis, Gitaly and web server and configures them together. Expect the first reconfigure to take several minutes and to need the memory headroom. CI runners are best registered on a separate VPS so pipelines and the web interface are not competing for the same cores.
What people run it for
Private source hosting
Code on infrastructure you own, for policy or contractual reasons.
Self-hosted CI/CD
Pipelines without per-minute billing, on runners you size.
Container registry
Images stored beside the code that builds them.
Leaving per-seat pricing
Community Edition has no per-user licence.
GitLab hosting questions
Related applications
Deploy GitLab on your own server
Root access, your choice of size, and no container between you and the application.