- GitLab CE
- Ubuntu LTS
- Let's Encrypt
- Git + CI
GitLab VPS HostingGit, code review and CI on your own server
Run GitLab Community Edition from GitLab's own package on a hardened KVM VPS, with HTTPS on your domain from Let's Encrypt. Repositories, merge requests and CI stay on your server, at a flat cost.
- KVM virtualisation
- NVMe storage
- Root SSH access
- Free one-time setup
- 99.9% uptime SLA
$systemctl list-units --type=service --state=active
- gitlabGitLab Community Edition (Linux package)
- nginxbundled web server, HTTPS
- postgresqlbundled database
- ufwfirewall: 22, 80, 443
- fail2banSSH brute-force guard
- unattended-upgradessecurity updates
Installed and secured before handover.
Why Self-Host GitLab on a VPS
Hosted Git platforms charge per user and hold your code. Self-hosted GitLab gives a full platform at a flat server cost.
Code and history on your server
Repositories, issues and merge requests in a location you choose.
A full DevOps platform
Git, reviews, issues and CI/CD in one product.
Flat server cost
Add developers without a per-seat charge for the Community Edition.
Your rules
Your own sign-up policy, groups, permissions and integrations.
How GitLab Is Set Up
One Linux package bundles the web server, the application and its database.
-
Web server
NGINX (bundled)
HTTPS on your domain, with the certificate requested from Let's Encrypt.
-
Application
GitLab (Rails, Sidekiq, Gitaly)
The web interface, background jobs and Git storage.
-
Database
PostgreSQL (bundled)
Users, projects, issues and merge requests.
-
Cache and queue
Redis (bundled)
Caching and background job queues.
-
Repositories
NVMe on the VPS
The Git data and uploaded files.
Engineer's notes
- GitLab's baseline for one machine is 16 GB RAM and 8 vCPU; it can run with at least 8 GB in a constrained setup.
- GitLab's guide advises disabling swap where possible, because swap slows it down badly under load.
- Ports 22, 80 and 443 are used: 22 serves Git over SSH, 80 and 443 the web interface and the certificate request.
- The initial root password is saved in /etc/gitlab/initial_root_password and the file is removed after 24 hours.
- 443HTTPS, web interface
- 80HTTP, Let's Encrypt and redirect
- 22SSH, Git over SSH and admin
What You Can Run
Private Git repositories
Projects for a team or a company.
Merge requests and code review
Review before merging, with approvals.
CI/CD pipelines
Builds and tests with GitLab Runner, on this server or another.
Issue tracking and boards
Plan work next to the code.
A container registry
Store images for your deployments.
A package registry
Private packages for your projects.
Which Plan for Your GitLab Server
GitLab's documentation sets 16 GB and 8 vCPU as the single-node baseline and 8 GB as the least it can run on. VPS-1 is below that.
A starting point, not a limit: every plan upgrades in place, keeping your data, IP address and configuration.
Looking After Your GitLab Server
Everyday tasks after handover.
-
Check every service
Status of the bundled services.
sudo gitlab-ctl status -
Read the initial root password
Use it to sign in as root within 24 hours, then change it.
sudo cat /etc/gitlab/initial_root_password -
Apply configuration changes
After editing /etc/gitlab/gitlab.rb.
sudo gitlab-ctl reconfigure -
Turn swap off if you can
GitLab's guide advises it; make it permanent in /etc/fstab too.
sudo swapoff -afree -h -
Watch the logs
Useful when something fails.
sudo gitlab-ctl tail
Example commands: adjust names, paths and versions to your project. Deploying and maintaining your application is yours to do, or ask us for a quote.
GitLab commands you will use every week
Copy, paste, adjust the names. Each one is safe to run as your own user on the server.
Service status
sudo gitlab-ctl status
Apply gitlab.rb changes
sudo gitlab-ctl reconfigure
Follow all logs
sudo gitlab-ctl tail
Restart GitLab
sudo gitlab-ctl restart
Environment and version info
sudo gitlab-rake gitlab:env:info
Create a backup
sudo gitlab-backup create
Hosted Git Platform or Your Own GitLab?
A hosted platform removes the server work. Your own GitLab keeps code on your server at a flat cost.
Hosted Git platform
- PricingPer user, per month
- Where code livesThe provider's servers
- Upgrades and backupsHandled by the provider
- CI minutesPlan limits apply
- Server administrationHandled by the provider
GitLab VPS
- PricingFlat server cost for Community Edition
- Where code livesYour server, your location
- Upgrades and backupsYours: updates and extra backups
- CI minutesLimited by your own runners
- Server administrationYours, after our free setup
Your GitLab server
Free one-time setup before you get access. Here is what happens, and what you receive.
Pick a plan and a location
Resources that fit your workload, in the datacentre closest to your users.
Tell us your GitLab setup
Versions, database and domain: at order or right after.
We install and secure it
Server hardened, the stack installed and tested, HTTPS on your domain.
You get root
SSH to a working server, ready for your code and data.
Installed for you
- GitLab Community Edition from GitLab's official package repository, on Ubuntu 22.04 or 24.04
- EXTERNAL_URL set to your domain, with HTTPS from Let's Encrypt
- Firewall open for SSH, HTTP and HTTPS
- The initial root password left for you to read and change
- SMTP for notification email is set up by you
Secured before handover
- Non-root sudo user created for daily work
- SSH key login, password login for root disabled
- Firewall (UFW) open only for the ports you use
- Fail2ban blocking repeated login attempts
- Automatic security updates enabled
- Free Let's Encrypt SSL on your domain
- Timezone, swap and hostname configured
Not included (we say so up front)
- Ongoing server administration
- Application maintenance and updates
- Debugging your code
- Migrating existing sites or data
Security and Performance for GitLab
Security
- Change the root password at once and turn on two-factor authentication.
- Restrict sign-up (admin area) so strangers cannot create accounts.
- Keep GitLab updated: security releases are frequent.
- Back up with GitLab's own backup tool as well as daily VPS backups.
Performance
- Give GitLab at least 8 GB of RAM; 16 GB is its single-node baseline.
- Avoid swap where you can; it slows GitLab under load.
- Run CI jobs on separate runners so builds do not starve the web interface.
- Keep free disk space for repositories, artifacts and packages.
Built from the official documentation
VPS Plans for GitLab
GitLab needs plenty of memory. VPS-2 (8 GB) is the smallest plan that meets its constrained minimum; VPS-4 (24 GB, 8 vCores) is above its single-node baseline.
VPS-1
Small websites, APIs, bots and development servers.
- 2 vCores
- 4 GB RAM
- 40 GB NVMe
- 500 Mbps
- Full root and SSH access
- Free initial stack installation
- Server hardening and firewall setup
- Daily backup of the previous 24 hours
- Unlimited traffic *
- Anti-DDoS protection
- Dedicated IPv4 and IPv6
- KVM virtualisation
VPS-2
Production apps, WordPress and online stores.
- 4 vCores
- 8 GB RAM
- 75 GB NVMe
- 1 Gbps
- Full root and SSH access
- Free initial stack installation
- Server hardening and firewall setup
- Daily backup of the previous 24 hours
- Unlimited traffic *
- Anti-DDoS protection
- Dedicated IPv4 and IPv6
- KVM virtualisation
VPS-3
Busy stores, SaaS products and several projects.
- 6 vCores
- 12 GB RAM
- 100 GB NVMe
- 2 Gbps
- Full root and SSH access
- Free initial stack installation
- Server hardening and firewall setup
- Daily backup of the previous 24 hours
- Unlimited traffic *
- Anti-DDoS protection
- Dedicated IPv4 and IPv6
- KVM virtualisation
VPS-4
High-traffic apps, large databases and agencies.
- 8 vCores
- 24 GB RAM
- 200 GB NVMe
- 3 Gbps
- Full root and SSH access
- Free initial stack installation
- Server hardening and firewall setup
- Daily backup of the previous 24 hours
- Unlimited traffic *
- Anti-DDoS protection
- Dedicated IPv4 and IPv6
- KVM virtualisation
* Unlimited traffic in Europe and North America. In Mumbai, Singapore and Sydney a monthly allowance applies (VPS-1 500 GB, VPS-2/VPS-3 1 TB, VPS-4 3 TB), then speed is limited to 10 Mbps until the next month.
Prices exclude 18% GST, which is added to invoices for customers in India.
Platform specs and locations
The same KVM platform on every plan; only CPU, RAM, storage and port speed change.
- Virtualisation
- KVM with reserved vCores and RAM
- Storage
- NVMe SSD on every plan
- Network
- Dedicated IPv4 and IPv6, 500 Mbps to 3 Gbps per plan
- Operating systems
- Ubuntu 26.04, 24.04 and 22.04 LTS · Debian 13, 12 and 11 · AlmaLinux · Rocky Linux · Fedora · FreeBSD
- Access
- Full root over SSH, key-based login
- Backups
- Automatic daily backup of the previous 24 hours; snapshots and longer retention on request
- Protection
- Always-on anti-DDoS mitigation
- Availability
- 99.9% uptime SLA
Asia-Pacific
- Mumbai
- Singapore
- Sydney
Europe
- London
- Limburg
- Roubaix
- Gravelines
- Strasbourg
- Milan
- Warsaw
North America
- Beauharnois
Availability per location changes with demand; we confirm your location before setup. In Mumbai, Singapore and Sydney each plan includes a monthly traffic allowance (VPS-1 500 GB, VPS-2 and VPS-3 1 TB, VPS-4 3 TB); beyond it, speed is limited to 10 Mbps until the next month.
Questions before you deploy
Not covered here? Ask an engineer before you order.
Ready when you are
Run Your Own GitLab
Choose a plan and we hand over GitLab on a hardened server with HTTPS on your domain.