Skip to content

Self-managed GitLab on servers sized for it

Run the whole DevOps platform on your own server: Git repositories, merge requests, issues, CI/CD pipelines, a container registry and Pages. GitLab is a large application, so we size the server to its official requirements, on a VDS or a dedicated server, preinstalled from the Linux package as an app option or set up with our guide.

  • Git, merge requests, issues and CI/CD in one app
  • Sized to GitLab’s own requirements, from 8 vCPU
  • Container registry and Pages included in the package
  • Runners on separate servers for fast pipelines
StackThe Linux package bundles PostgreSQL, Redis, Sidekiq and the web server; new minor versions ship every month.
GitLab 19, Linux package
Default ports
80/443 (web), 22 (Git over SSH)
MinimumGitLab’s requirements give 8 vCPU and 16 GB as the single-node baseline; memory-constrained setups can run with at least 8 GB.
8 vCPU, 16 GB RAM (baseline)
Your data
Repos, PostgreSQL, registry, artifacts
Official docs
docs.gitlab.com

Included

  • Merge requests
  • CI/CD
  • GitLab Runner
  • Container registry
  • GitLab Pages
  • Issues and boards
  • Wiki
  • LDAP / OmniAuth

Facts from the project’s official website, documentation and repository, checked in October 2026.

Plans are being prepared

We are preparing ready-to-use plans for GitLab. Tell us how you will use it and how many users you expect, and we will reply with a server that fits. You can also start today on a Linux VPS and install it with our guide.

Which server size fits?

Starting points for vCPU, memory and disk. Grow the server when your data and users grow.

Which server size fits?
Feature
Tuned minimum A small team, memory-constrained setup
Recommended Baseline GitLab’s single-node baseline
Busy instance Many users, pipelines and registry traffic
vCPUVirtual processor cores of the server. 8 8 16
MemoryMemory for the app, its database and the operating system. 8 GB 16 GB 32 GB
DiskSSD or NVMe; avoid network file systems. 40 GB 100 GB 250 GB+
CI runnersGitLab Runner is installed separately. On a separate small server One or two separate servers Several, by workload
Server type Linux VDS VDS or dedicated Dedicated server
  • Tuned minimum

    A small team, memory-constrained setup

    vCPUVirtual processor cores of the server.
    8
    MemoryMemory for the app, its database and the operating system.
    8 GB
    DiskSSD or NVMe; avoid network file systems.
    40 GB
    CI runnersGitLab Runner is installed separately.
    On a separate small server
    Server type
    Linux VDS
  • Recommended

    Baseline

    GitLab’s single-node baseline

    vCPUVirtual processor cores of the server.
    8
    MemoryMemory for the app, its database and the operating system.
    16 GB
    DiskSSD or NVMe; avoid network file systems.
    100 GB
    CI runnersGitLab Runner is installed separately.
    One or two separate servers
    Server type
    VDS or dedicated
  • Busy instance

    Many users, pipelines and registry traffic

    vCPUVirtual processor cores of the server.
    16
    MemoryMemory for the app, its database and the operating system.
    32 GB
    DiskSSD or NVMe; avoid network file systems.
    250 GB+
    CI runnersGitLab Runner is installed separately.
    Several, by workload
    Server type
    Dedicated server

From GitLab’s installation requirements: 8 vCPU and 16 GB RAM are the single-node baseline, at least 8 GB for memory-constrained setups, at least 40 GB of SSD storage, and swap disabled where possible. Run CI jobs on separate runner servers.

One platform for the whole software lifecycle

Plan, code, build and ship from one self-managed application.

CI/CD pipelines

Define pipelines in .gitlab-ci.yml and run them on GitLab Runner servers you control, with caches, artifacts and environments.

Container registry

Store the images your pipelines build next to the code; the registry ships with the package and is switched on when you need it.

Groups, roles and sign-in

Organise projects in groups, give each member a role and connect LDAP or an OAuth provider for single sign-on.

Sized correctly from day one

GitLab needs real memory and fast disks. We start from its published requirements so the instance stays responsive.

Full root access

Install what the app needs, change any setting and run more services next to it. Nothing is locked behind a panel.

App option or step-by-step guide

Order the server with the app installed as an option, or set it up yourself on a clean Linux server with our guide.

Near your users

Choose a data center in the United States, Europe or Asia. The order form estimates the latency from where you are to each location.

Grow without starting over

Start on a VPS, then move to a bigger plan, a VDS with NVMe storage or a dedicated server when the workload grows.

From order to first login

Order the app preinstalled on your server, or install it yourself with our guide.

  1. Pick a VDS or dedicated server

    Choose at least 8 vCPU and 16 GB of RAM for a team, in the location closest to your developers.

  2. Add GitLab

    Select GitLab as an app option when you order, or install it on a clean Ubuntu or Debian server with our guide.

  3. Point a domain and enable HTTPS

    Create a DNS record such as app.example.com for the server and put a reverse proxy with a free Let’s Encrypt certificate in front of the app.

  4. Sign in and add runners

    Sign in as root with the initial password from the server, change it, then register GitLab Runner on a separate server.

Step-by-step setup guides

Install, secure and update the app with our guides, written for current Ubuntu and Debian releases.

More guides

Related solutions

Gitea & Forgejo

Light Git forges with Actions CI and packages

Learn more

Docker Hosting

Containers and Compose stacks with full root access

Learn more

Kubernetes (k3s / k0s)

Lightweight clusters from one node to high availability

Learn more

Linux VDS Hosting

Dedicated resources and nested virtualization for heavier stacks.

Learn more

Dedicated Servers

A whole machine for large workloads, many apps or GPUs.

Learn more

Frequently asked questions

Still have a question? Send us a message and our team will reply by email.
How big does a GitLab server have to be?

GitLab’s installation requirements give 8 vCPU and 16 GB of memory as the baseline for a single-node installation, and at least 8 GB for memory-constrained environments, with at least 40 GB of SSD storage. Plan more for many users, large repositories and an active container registry.

Can I run GitLab on a small VPS?

GitLab has a guide for memory-constrained environments, but it warns that features and performance degrade. For a team we recommend following the requirements page instead. If you only need Git hosting with CI, Gitea or Forgejo run comfortably on a small VPS.

Which operating systems does the Linux package support?

Among others Ubuntu 22.04, 24.04 and 26.04, Debian 11, 12 and 13, and AlmaLinux and RHEL 8 to 10, on amd64 and arm64. Choose a current LTS release such as Ubuntu 24.04 or Debian 13 when you order.

Where do CI jobs run?

On GitLab Runner, which you install separately and register with your instance. Run it on its own server so builds do not slow down the web interface; a runner with the Docker executor runs each job in a fresh container.

Is the container registry included?

Yes. The registry and GitLab Pages ship with the Linux package and are switched on in the configuration file when you need them, usually on their own hostname with HTTPS.

How do I keep GitLab up to date?

GitLab releases a new minor version every month and security patches in between. Upgrade with the package manager, follow the documented upgrade path when you skip versions, and take a backup first.

How do I back up GitLab?

Use the built-in backup command for repositories, the database and uploads, and copy the configuration and secrets files separately, because the backup does not include them. Store the archives off the server and test a restore.

Should swap be turned on?

GitLab’s requirements recommend disabling swap where possible and giving the server enough memory instead. Size the server so GitLab and its services fit in RAM.

Can GitLab send email?

Yes. Notifications, sign-ups and password resets go out through the SMTP server you set in gitlab.rb. Outbound port 25 is closed by default on HyperDC VPS. For services bought for a term of 3 months or longer, it is opened on request through a support ticket; until then, or instead, send through an SMTP relay on port 587.

Planning a GitLab instance?

Tell us how many developers and pipelines you expect, and we will suggest servers for GitLab and its runners.

Passwort generieren

Please confirm