GitLab is a popular web-based DevOps lifecycle tool that provides a Git repository manager with CI/CD pipeline features. In this tutorial, you will learn how to install GitLab using Docker on Ubuntu 22.04. Whether you are hosting it locally or on a Windows VPS UK, this guide will help you set up GitLab quickly and efficiently.
Step 1: Update Your System
Before starting the GitLab installation, ensure your Ubuntu system is up to date. Run the following commands to update the package list and upgrade installed packages:
sudo apt update && sudo apt upgrade -y
Keeping your system updated is important, especially when deploying applications on platforms like VPS Windows Servers.
Step 2: Install Docker and Docker Compose
GitLab will be deployed using Docker. First, you need to install Docker and Docker Compose:
sudo apt install docker.io docker-compose -y
Start and enable the Docker service so that it starts automatically on boot:
sudo systemctl start docker
sudo systemctl enable docker
Step 3: Set Up GitLab Docker Container
Create a directory for your GitLab setup and navigate to it:
mkdir ~/gitlab-docker
cd ~/gitlab-docker
Create a docker-compose.yml
file with the following content:
version: '3'
services:
web:
image: 'gitlab/gitlab-ee:latest'
restart: always
hostname: 'gitlab.example.com'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://gitlab.example.com'
ports:
- '80:80'
- '443:443'
- '22:22'
volumes:
- './config:/etc/gitlab'
- './logs:/var/log/gitlab'
- './data:/var/opt/gitlab'
Replace gitlab.example.com
with your domain name or server IP address.
Step 4: Start the GitLab Container
After configuring the docker-compose.yml
file, run the following command to start the GitLab container:
sudo docker-compose up -d
This command will download the necessary GitLab image, create the container, and run it in the background. You can check the status of the container using:
sudo docker-compose ps
Once the container is up and running, you can access GitLab by navigating to http://your_domain_or_ip
in your web browser.
Step 5: Configure GitLab
On first access, GitLab will prompt you to set a root password. After setting the password, you can log in using the username root
and the password you created.
You can now start creating projects, repositories, and use GitLab’s CI/CD features.
Step 6: Set Up SSL with Let’s Encrypt (Optional)
To secure your GitLab instance with HTTPS, you can use Let’s Encrypt. First, modify the docker-compose.yml
file to include SSL settings:
version: '3'
services:
web:
image: 'gitlab/gitlab-ee:latest'
restart: always
hostname: 'gitlab.example.com'
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'https://gitlab.example.com'
letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['your_email@example.com']
letsencrypt['auto_renew'] = true
ports:
- '80:80'
- '443:443'
- '22:22'
volumes:
- './config:/etc/gitlab'
- './logs:/var/log/gitlab'
- './data:/var/opt/gitlab'
Replace gitlab.example.com
with your domain and update the email address. After making the changes, restart the container:
sudo docker-compose down
sudo docker-compose up -d
Let’s Encrypt will automatically generate and configure SSL certificates for your GitLab instance.