English
€EUR
DevOps and deployment

GitLab

Compatible with the Infrawire installer

GitLab CE installed with HTTPS on your VPS, ready to host your repositories

Minimum requirements
  • 4 GB RAM
Developer
GitLab Inc.
Version
Latest stable
License
MIT
Systems
Debian 12, Debian 13, Ubuntu 20.04, Ubuntu 22.04, Ubuntu 24.04

About GitLab

GitLab is a DevOps platform that combines Git repository hosting, merge requests, issue tracking, a package registry and continuous integration (CI/CD) in a single application. The Community Edition (CE) is open source. It suits development teams, agencies and small businesses that want to keep their code and pipelines on a server they control.

On delivery, the Linux VPS (Debian 12 or 13, Ubuntu 20.04, 22.04 or 24.04) has GitLab CE installed from the official packages.gitlab.com repository, using the Omnibus package. A self-signed TLS certificate, valid for 10 years, is generated for the server's public IP address. The external URL is set to https://SERVER_IP, and HTTP is redirected to HTTPS.

The administrator account is root. Its initial password is written to /etc/gitlab/initial_root_password. The recipe requires at least 4 GB of RAM (8 GB recommended) and 2 CPU cores. GitLab is resource-hungry, so size the VPS accordingly.

What you can do with GitLab

  • Official Omnibus installation

    GitLab CE is installed from GitLab's apt repository, then configured with gitlab-ctl reconfigure. Updates go through apt afterwards.

  • HTTPS from the first boot

    A self-signed RSA 2048 certificate is created in /etc/gitlab/ssl/ for the server IP. Nginx redirects HTTP to HTTPS.

  • Generated root password

    The initial password of the root account is stored in /etc/gitlab/initial_root_password, so there is no known default credential.

  • Repositories, reviews and CI/CD

    Merge requests, issues, wikis, a package registry and CI/CD pipelines live in the same interface, with no third-party tools to wire in.

  • Configuration in a single file

    All settings go through /etc/gitlab/gitlab.rb, followed by gitlab-ctl reconfigure. It is easy to version and to reproduce.

Get started with GitLab

From order to production in a few minutes.

  1. 1

    Order the VPS with GitLab

    Choose a [Linux VPS](/vps-linux) in Paris or Frankfurt with at least 4 GB of RAM (8 GB recommended). In the "Applications" tab of the order form, tick GitLab.

  2. 2

    Wait for delivery and connect

    Installation and first configuration take several minutes after boot. Follow them over SSH, then read the root password once they have finished.

    Bash
    ssh root@SERVER_IP tail -f /var/log/cloud-init-output.log sudo cat /etc/gitlab/initial_root_password
  3. 3

    Open GitLab and sign in

    Go to https://SERVER_IP and accept the browser warning, which comes from the self-signed certificate. Sign in with root and the password you read above, then change it in your profile.

    Bash
    sudo gitlab-ctl status
  4. 4

    Secure it for production

    Point a domain name at the server, then replace external_url in /etc/gitlab/gitlab.rb with https://YOUR_DOMAIN. Enable Let's Encrypt (letsencrypt['enable'] = true) or install your own certificate, then apply the configuration. Restrict access with a firewall (ports 22, 80 and 443) and schedule backups.

    Bash
    sudo nano /etc/gitlab/gitlab.rb sudo gitlab-ctl reconfigure sudo gitlab-backup create

GitLab use cases

  • Private Git forge for a team

    Host your projects' source code on a European server you administer, with permissions per group and per project.

  • Internal CI/CD pipelines

    Run your tests and deployments from .gitlab-ci.yml files versioned alongside the code, on your own runners.

  • Migrating from a hosted service

    Import your repositories from GitHub or another GitLab instance to take back control of your data and access rules.

  • Learning and test environment

    Try GitLab configuration, backups or a version upgrade on a dedicated server before touching production.

GitLab FAQ

The recipe asks for 4 GB minimum and 8 GB recommended, with at least 2 CPU cores. Below that, the installation may fail or the interface may become very slow. Plan for 8 GB if you use CI/CD regularly.

More about GitLab

Replacing the self-signed certificate

The bundled certificate is tied to the IP address, so browsers show a warning. To get rid of it, use a domain name (see /web-domains) and edit /etc/gitlab/gitlab.rb:

Ruby
external_url 'https://YOUR_DOMAIN' letsencrypt['enable'] = true letsencrypt['contact_emails'] = ['admin@YOUR_DOMAIN']

Then run sudo gitlab-ctl reconfigure. The domain must already point to the server, and ports 80 and 443 must be reachable for validation.

Resources and memory

GitLab runs several services (Puma, Sidekiq, PostgreSQL, Redis, Nginx, Gitaly). With 4 GB of RAM the instance works for a small team, but swap and some headroom help. Move to 8 GB as soon as you run pipelines frequently or have a few dozen users.

Backups and updates

The command sudo gitlab-backup create creates an archive of the application data. Also back up /etc/gitlab/gitlab.rb and /etc/gitlab/gitlab-secrets.json, which are not included in that archive. To update, use sudo apt update && sudo apt install gitlab-ce. Read the official upgrade path first, because GitLab sometimes requires intermediate versions.

Stay up to date with the latest offers, discounts and special promotions.

View promotions

We use cookies

We use analytics cookies to improve your experience on our site. No data is sold to third parties. Learn more in our privacy policy.