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.
Software included
Section titled “Software included”| Component | Version |
|---|---|
| GitLab CE | 18.11.x |
| Ubuntu | 24.04 LTS |
Getting started
Section titled “Getting started”1. Connect to your VM
Section titled “1. Connect to your VM”ssh ubuntu@<your-vm-ip>2. Wait for first-boot configuration
Section titled “2. Wait for first-boot configuration”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 -fThe MOTD on login will confirm when GitLab is ready.
3. Retrieve the initial root password
Section titled “3. Retrieve the initial root password”sudo cat /etc/gitlab/initial_root_password4. Access the GitLab UI
Section titled “4. Access the GitLab UI”Open a browser and navigate to your VM’s IP or hostname:
http://<your-vm-ip>Log in with:
| Field | Value |
|---|---|
| Username | root |
| Password | From /etc/gitlab/initial_root_password |
Change your password immediately after first login.
Optional: set a custom external URL
Section titled “Optional: set a custom external URL”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-configwrite_files: - path: /run/gitlab-external-url content: 'https://gitlab.example.com' permissions: '0600' owner: root:rootTo change the URL after deployment, edit /etc/gitlab/gitlab.rb:
external_url 'https://gitlab.example.com'Then run:
sudo gitlab-ctl reconfigureManaging GitLab
Section titled “Managing GitLab”# Check all service statusessudo gitlab-ctl status
# Restart all servicessudo gitlab-ctl restart
# View logs (all services)sudo gitlab-ctl tail
# View logs for a specific servicesudo gitlab-ctl tail nginxsudo gitlab-ctl tail pumaConfiguration file: /etc/gitlab/gitlab.rb
After editing gitlab.rb, always run sudo gitlab-ctl reconfigure to apply changes.
Security
Section titled “Security”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'] = trueletsencrypt['contact_emails'] = ['admin@example.com']Then run:
sudo gitlab-ctl reconfigure