Skip to content
Live $100 credit at signup, up to $300 total Offer ends December 31, 2026 Get started →

GitLab CE 19.1

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 CE19.1.x
Ubuntu24.04 LTS

You can optionally set these when deploying GitLab from the marketplace. Leave any field blank to have a secure random value generated automatically.

VariableDescription
GITLAB_ROOT_PASSWORDInitial password for the GitLab root account
GITLAB_EXTERNAL_URLExternal URL GitLab is served from
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