How to Configure GitLab on Ubuntu?

how to configure gitlab on ubuntu

Configuring GitLab on Ubuntu is a very straightforward process, but getting the setup right is crucial to ensuring optimal performance and security, whether you’re setting up GitLab for personal use or development. It gives super flexibility and control over your projects, so here we will discuss how to configure GitLab on Ubuntu.

In this guide, we will let you know the step-by-step process of installing Gitlab on an Ubuntu server. With our detailed steps, you will be ready to run Gitlab on your Ubuntu server, enhancing your software development workflow with a fully functional, self-hosted version of this powerful platform. So let’s start with the guide on how to configure Gitlab on Ubuntu.

What is GitLab?

GitLab is an open-source solution mainly used for managing and hosting Git repositories. GitLab is a cloud-based DevOps platform that makes it easy to manage your code and development workflow.

It comes with built-in tools for project management, issue tracking, code reviews, and Git repository management. Plus, it supports continuous integration and deployment (CI/CD), making it simple to test, deploy, and monitor your applications—all in one place.

Reasons to use GitLab CE on Ubuntu

  • Full control over repositories
  • In-house CI/CD with no third-party dependencies
  • Enhanced security for the codebase
  • Ideal for private organizations or development teams
  • Optimized for Teams and Organizations
  • Strong Community and Open Source Advantage
  • Scalable and Modular Architecture

Difference Between GitLab and GitHub

We already discussed Gitlab, so we can look into the difference between GitLab and GitHub

GitHub is an open-source platform for version control that helps manage and monitor changes to files.

GitLab and GitHub are two of the most popular platforms for hosting Git repositories, and developers often compare them because of the different ways they handle code management and repository hosting.

GitHubGitLab
It is a tool for managing repositoriesGitLab offers a free private repository with no limit
It is a service for hosting repositories with features for access control and collaboration.It is Less Secure compared to GitLab
You can choose your CI/CD tools after integrationGitLab comes with built-in CI/CD tools
Its is a service for hosting repositories with features for access control and collaboration.More Secure
Difference between GitHub and GitLab

Now let’s look at how to configure GitLab on Ubuntu,

Prerequisites for Installing GitLab

Before diving into installation, ensure your server meets the following:

  • OS: Ubuntu 20.04 LTS (64-bit)
  • RAM: Minimum 4 GB (8 GB recommended)
  • CPU: Dual-core or higher
  • Storage: At least 10 GB free disk space
  • Privileges: Sudo/root access
  • Domain Name: Optional but recommended for web access and SSL

How to Configure GitLab on Ubuntu

Follow the steps below to configure GitLab on the Ubuntu system:

Start by updating your package index and upgrading existing packages:

sudo apt update && sudo apt upgrade -y
ShellScript

This ensures your system is up-to-date and ready for GitLab installation.

Installing Required Dependencies

GitLab requires several packages to function correctly. Install them using:

sudo apt install ca-certificates curl openssh-server postfix tzdata perl

Installing GitLab

cd /tmp

curl -LO https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh

Select the internet site as the mail configuration type and press Ok. After that, press okay to save the defaults.

less /tmp/script.deb.sh

sudo bash /tmp/script.deb.sh

sudo apt install gitlab-ce

Adjusting the Firewall Rules

You have to adjust the firewall rules for permissible to permit web traffic before configuring GitLab

sudo ufw status

sudo ufw allow http
sudo ufw allow https
sudo ufw allow OpenSSH
sudo ufw enable

Configuring GitLab

Edit the GitLab configuration file to set your domain:

sudo nano /etc/gitlab/gitlab.rb

locate the external_url and replace it with your domain, and also ensure to change HTTP to HTTPS for redirection

...
external_url 'https://your_domain'
...

sudo gitlab-ctl reconfigure

Initial Configuration using the Web Interface

First, log in to the server using your domain name

https://your_domain

It will generate the initial secure password for you, which is stored within a directory accessible to sudo users.

sudo nano /etc/gitlab/initial_root_password

https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.
Password: YOUR_PASSWORD
# NOTE: This file will be deleted automatically during the first reconfigure run after 24 hours.

Use root as username and password listed on /etc/gitlab/initial_root_password in the login page and sign in.

Now you are all set!

To enhance security, you can enable HTTPS using a free Let’s Encrypt SSL certificate.

Edit GitLab configuration again:

sudo nano /etc/gitlab/gitlab.rb

Change the external URL to:

external_url 'ttps://yourdomain.com'

Add or uncomment these lines to enable Let’s Encrypt:

letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['admin@yourdomain.com']

Reconfigure GitLab again:

sudo gitlab-ctl reconfigure

Additional Tips while Configuring GitLab

Backups: Regularly back up your GitLab data using:

  sudo gitlab-rake gitlab:backup:create

Monitoring: Monitor GitLab services:

  sudo gitlab-ctl status

Logs: Access logs for troubleshooting:

  sudo gitlab-ctl tail

GitLab Advanced Configuration

Want to customize your instance further?

  • Set up LDAP authentication or integrate with OAuth providers
  • Configure CI/CD pipelines with .gitlab-ci.yml
  • Set up project-level runners
  • Enable custom domain email notifications
  • Use Kubernetes integration for deployment

You can explore these in the GitLab official documentation.

Related Post:

>> How to Set Up SFTP Server on Ubuntu – 9 Steps

>> Encoding and Decoding Using Base64 Strings in Python

Conclusion for How to Configure GitLab on Ubuntu

In this guide, we have covered how to configure GitLab on Ubuntu, from installing dependencies to setting up a secure, self-hosted GitLab instance. By following these steps, you can quickly manage your Git repositories, implement CI/CD pipelines, and improve teamwork.

With GitLab’s powerful features and a simple Ubuntu setup, you gain full control over your development environment, ensuring privacy and security. Now that you know how to configure GitLab on Ubuntu, you’re ready to boost your software development workflow with a fully functional, self-hosted solution.

For more advanced tips, always refer to the Official GitLab Documentation to stay up-to-date and secure.

Happy Development!

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.