HELPER VPS

GitLab VPS hosting: your code and CI/CD on your own server

  • Installed from the official gitlab/gitlab-ce Docker image
  • Plans with 16 GB memory or more recommended
  • Root access and public IPv4 and IPv6 addresses

The HELPER VPS GitLab VPS is a Linux cloud server where you run GitLab Community Edition, which handles Git repositories and CI/CD in one place, billed by invoice from $25.00 per month. Choose the Docker app image when you create the server, connect over SSH and run the official gitlab/gitlab-ce image, and you can manage your team's code, issues and pipelines on your own server.

    What is GitLab?

    GitLab is a development platform that combines Git repository management, code review, issue tracking, CI/CD pipelines and a container registry. GitLab Community Edition (CE) is the free, open source edition that teams can install on their own servers to keep their code and development history themselves. Collaboration features such as merge requests, wikis and milestones are built in.

    The official gitlab/gitlab-ce Docker image contains GitLab itself plus PostgreSQL, Redis, Nginx, Puma and Sidekiq, so the whole service runs in one container. Configuration, logs and data are stored separately on the server disk in volumes, so your repositories and user data stay intact when you switch the container to a new version.

    What can I do with a GitLab VPS?

    Bring your whole development workflow onto one self-hosted GitLab server.

    How do I buy a GitLab server?

    From your first payment to your first login takes three steps.

    1. Step 1. Choose a plan with 16 GB or more

      Choose a payment method, select a city close to your team, and pick a plan with 16 GB memory or more.

    2. Step 2. Create with the Docker app image

      Choose Docker from the image list and an Ubuntu 24.04 server is created with Docker Engine and Docker Compose ready.

    3. Step 3. Connect over SSH and run the command

      Connect over SSH as root, run the commands below, and after a few minutes open the server address in your browser and log in with the root account.

    How do I install GitLab CE?

    Connect over SSH to a server created with the Docker app image and run the commands below. Replace gitlab.example.com with your domain or server IP; the server's own SSH uses port 22, so GitLab's Git SSH opens on port 2222. The first start takes a few minutes, and the last command shows the initial root password (this file is deleted after 24 hours).

    Terminal
    export GITLAB_HOME=/srv/gitlab
    sudo mkdir -p $GITLAB_HOME
    sudo docker run --detach \
      --hostname gitlab.example.com \
      --publish 443:443 --publish 80:80 --publish 2222:22 \
      --name gitlab \
      --restart always \
      --volume $GITLAB_HOME/config:/etc/gitlab \
      --volume $GITLAB_HOME/logs:/var/log/gitlab \
      --volume $GITLAB_HOME/data:/var/opt/gitlab \
      --shm-size 256m \
      gitlab/gitlab-ce:latest
    sudo docker logs -f gitlab
    sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password

    Why install GitLab on your own VPS?

    Run your own GitLab VPS and handle code and pipelines on your own terms.

    Technology used with GitLab

    The official GitLab CE image bundles the technologies below and runs them together on your GitLab VPS.

    Place your server close to your users

    Create GitLab servers at the same price anywhere in 40 cities across 31 countries.

    How much memory does a GitLab VPS need?

    GitLab runs a web server, background jobs, a database and a cache together, so it needs at least 4 GB memory, and we recommend 16 GB or more for real team use. With 12 GB, the interface can slow down with just a few people at once, so at HELPER VPS we recommend starting from a 4 vCPU, 16 GB plan. A high-performance plan with an NVMe disk makes repository clones and searches faster.

    If you also run CI jobs with GitLab Runner on the same server, builds share the memory, so a 16 GB plan is the right fit. Teams with many users and projects should choose a plan with lots of memory, such as memory-optimized m32, and moving Runner to a separate server keeps the GitLab interface light. You can create up to 10 servers per account, so splitting things up like this is easy.

    What should I set up after starting a self-hosted GitLab?

    After your first login, change the root password, and in the admin area switch sign-ups to require approval or turn them off so only your team can get in. If you use a domain, set external_url in /srv/gitlab/config/gitlab.rb to your https address, turn on the letsencrypt setting and run sudo docker exec -it gitlab gitlab-ctl reconfigure, and an HTTPS certificate is attached automatically.

    Send notification emails by putting a mail sending service that uses port 587 in the SMTP settings in gitlab.rb. To show Git SSH addresses with port 2222, set gitlab_rails['gitlab_shell_ssh_port'] to 2222. Create backups regularly with sudo docker exec -t gitlab gitlab-backup create, and when upgrading, check the official upgrade path before switching the image to stay safe.

    GitLab hosting FAQ

    Common questions when choosing and installing a GitLab VPS.

    Is GitLab installed with one click on a GitLab VPS?

    Create a server with the Docker app image, then run the official gitlab/gitlab-ce image with a single docker run command. Paste the commands above, wait a few minutes, and the GitLab login page opens in your browser.

    How much memory does GitLab need at minimum?

    GitLab needs at least 4 GB memory, and we recommend 16 GB or more for comfortable team use. So we recommend starting from a 4 vCPU, 16 GB plan (g16, n16), and a 32 GB plan if you also run a CI Runner.

    Can I install it on the Ubuntu image with the Omnibus package?

    Yes, you can also add GitLab's official package repository to an Ubuntu server and install from there. The Docker method keeps configuration, logs and data in separate volumes, making updates and migrations easy, so this page covers the Docker method.

    Where do I find the initial root password?

    Check it with sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password. This file is deleted 24 hours after the initial setup, so change to a new password as soon as you log in.

    Which port does Git SSH use?

    The server's own SSH uses port 22, so the commands above open GitLab's Git SSH on port 2222. Set gitlab_shell_ssh_port to 2222 in gitlab.rb and the SSH address on repository pages shows correctly too.

    How do I add an HTTPS certificate?

    Point your domain to the server IP, change external_url in gitlab.rb to your https address, turn on letsencrypt and run gitlab-ctl reconfigure, and the certificate is issued and renewed automatically.

    Can I run GitLab Runner on the same server?

    Yes, run the gitlab/gitlab-runner image as a container on the same server and register it. Builds use memory and CPU too, so we recommend a 16 GB plan or a separate small server for Runner.

    Can GitLab send email notifications?

    Yes. Put a mail sending service that uses port 587 in the SMTP settings in gitlab.rb and merge request and issue notifications go out. Outgoing port 25 is closed on HELPER VPS servers, so email is sent this way.

    How do I update GitLab?

    Create a backup with gitlab-backup, pull the new image and recreate the container with the same volumes. When skipping major versions, upgrade through the intermediate versions following GitLab's official upgrade path.

    Can I add disk space as my repositories grow?

    You can add an extra disk of 50 to 1000 GB when you create the server. Set GITLAB_HOME to the extra disk path and keep repositories, the registry and backups in plenty of space.

    How do I pay for a GitLab server?

    Choose a payment method and create a server to start using it right away. Pay the renewal invoice before the period ends and your development never stops.

    GitLab is an open source project made by GitLab Inc. and its community, and the rights to the GitLab name and logo belong to their owner. Installing, updating and configuring GitLab CE and support for using it are your responsibility. GitLab CE has no extra cost, and the server price is exactly the price of the plan you choose.

    GitLab server guides

    Good things to do first after you get your server.