Skip to content
Live $300 credit for new accounts Valid for 60 days from account creation Get started →

GitLab CE 18.11

GitLab Community Edition is a complete DevOps platform delivered as a single application. It provides Git repository hosting, CI/CD pipelines, issue tracking, a container registry, and more. Everything runs on your own infrastructure.

ComponentVersion
GitLab CE18.11.x
Ubuntu24.04 LTS
ssh ubuntu@<your-vm-ip>

On the first boot, a setup script runs automatically. It configures the external URL and runs gitlab-ctl reconfigure to initialise all GitLab services. This takes 3–5 minutes.

Track progress:

journalctl -u gitlab-first-boot.service -f

The MOTD on login will confirm when GitLab is ready.

sudo cat /etc/gitlab/initial_root_password

Open a browser and navigate to your VM’s IP or hostname:

http://<your-vm-ip>

Log in with:

FieldValue
Usernameroot
PasswordFrom /etc/gitlab/initial_root_password

Change your password immediately after first login.

If GitLab will be served at a domain name, provide the URL at deploy time using cloud-init userdata. Without it, GitLab defaults to http://<hostname>.

Add this to your VM’s userdata at deploy time:

#cloud-config
write_files:
- path: /run/gitlab-external-url
content: 'https://gitlab.example.com'
permissions: '0600'
owner: root:root

To change the URL after deployment, edit /etc/gitlab/gitlab.rb:

external_url 'https://gitlab.example.com'

Then run:

sudo gitlab-ctl reconfigure
# Check all service statuses
sudo gitlab-ctl status
# Restart all services
sudo gitlab-ctl restart
# View logs (all services)
sudo gitlab-ctl tail
# View logs for a specific service
sudo gitlab-ctl tail nginx
sudo gitlab-ctl tail puma

Configuration file: /etc/gitlab/gitlab.rb

After editing gitlab.rb, always run sudo gitlab-ctl reconfigure to apply changes.

Port 80 is open by default. UFW is enabled.

To enable HTTPS with Let’s Encrypt, edit /etc/gitlab/gitlab.rb:

external_url 'https://gitlab.example.com'
letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['admin@example.com']

Then run:

sudo gitlab-ctl reconfigure