Skip to content
CBT Nuggets
DemoBook a Demo

Deploy GitLab on Self-Hosted Infrastructure

This skill, led by Trevor Sullivan, covers the deployment of a self-hosted GitLab instance on cloud infrastructure. It includes detailed steps on setting up virtual machines, configuring DNS, integrating SMTP for transactional emails, and securing the instance with TLS certificates. The course emphasizes the importance of security, performance, and resiliency in managing a self-hosted GitLab environment.

Full skill from Adv GitLab DevOps. Preview the training IT teams trust.

Updated

54m

Skill 1 of 10 in Adv GitLab DevOps

What you'll learn

  • Explain why teams self-host GitLab on private infrastructure to apply their own firewall rules and protect source code
  • Describe how a self-hosted GitLab instance relies on external services for DNS, Let's Encrypt TLS certificates, and SMTP email
  • Deploy a Linux virtual machine on DigitalOcean and configure a child DNS zone so users reach GitLab by a public DNS name
  • Install the GitLab Enterprise Edition Omnibus package over SSH and confirm a Let's Encrypt TLS certificate is issued
  • Monitor CPU, memory, disk activity, and GitLab processes on the server with the btop CLI
  • Verify SMTP delivery through Amazon Simple Email Service by sending a Notify test email from the gitlab-rails console

Free 54-minute video lesson with a full transcript and knowledge checks. No account needed to watch.

Overview

Join Trevor Sullivan as we learn how to deploy a self-hosted GitLab instance on your own cloud infrastructure!

Recommended Experience

  • 2 to 5 years of software development experience

Related Job Functions

  • Software Developer
  • Software Engineer
  • Software Development Engineer (SDE)

Trevor has two decades of experience in the software industry, and holds numerous certifications. Trevor was awarded Microsoft MVP from 2014 through 2017. His other areas of expertise include AWS, Azure, MySQL, GitHub, Docker, Kubernetes, and PowerShell automation.

Intro to Self-Hosting GitLab on Linux

Trevor Sullivan discusses some reasons why you'd self-host GitLab on your own cloud infrastructure.

Video unavailable

Knowledge Check

Which service does self-hosted GitLab use to provision a TLS encryption certificate?

Learn About Self-Hosted GitLab Cloud Architecture

Trevor Sullivan discusses the cloud architecture for running a self-hosted GitLab instance.

Video unavailable

Knowledge Check

Which protocol is used by self-hosted GitLab instances to send transactional e-mails?

Deploy Virtual Machine for Self-Hosting GitLab

Trevor Sullivan demonstrates deploying a cloud virtual machine for running GitLab.

Video unavailable

Knowledge Check

What is the minimum amount of system memory (RAM) that can be used for a self-hosted GitLab instance?

Configure DNS Records for Self-Hosted GitLab

Trevor Sullivan demonstrates the DNS configuration required for running self-hosted GitLab.

Video unavailable

Knowledge Check

Which type of DNS record is used to validate domains with Amazon Simple E-mail Service (SES)?

Install GitLab Omnibus Package for Linux

Trevor Sullivan demonstrates installation options for GitLab and installing the Omnibus package for Linux.

Video unavailable

Knowledge Check

Which of the following deployment options is NOT available for GitLab?

Configure GitLab TLS Certificate and Access Credentials

Trevor Sullivan demonstrates configuring GitLab to use the DNS hostname, and discovering access credentials.

Video unavailable

Knowledge Check

Which setting MUST be configured in order for self-hosted GitLab to be properly installed?

Setting Up and Verifying SMTP from GitLab

Trevor Sullivan demonstrates configuring an external SMTP cloud service for GitLab's transactional e-mails.

Video unavailable

Knowledge Check

Which of the following settings is NOT required for self-hosted GitLab SMTP configuration?

Conclusion

I hope this has been informative for you and I would like to thank you for consuming.

Frequently asked questions

What does the Deploy GitLab on Self-Hosted Infrastructure lesson cover?

The lesson walks a team member through a self-hosted GitLab architecture, then deploys a Linux virtual machine, configures DNS records, and installs the GitLab Omnibus package. It finishes by configuring the TLS certificate and root access credentials, then setting up and verifying SMTP so new users can receive sign-up confirmation emails.

Why would an IT team self-host GitLab instead of using the GitLab SaaS instance?

The trainer explains that self-hosting on private infrastructure lets an organization apply its own security rules, such as firewall rules, which reduces the risk of leaking source code or infrastructure-as-code configurations to outside users or attackers. Resiliency is also discussed as a factor when choosing a hosting model.

What external services does a self-hosted GitLab instance rely on?

GitLab does not typically provide TLS certificates or transactional email on its own, so the lesson connects it to a Let's Encrypt certificate, a DNS provider for a child domain such as gitlab.cbttrevor.com, and Amazon Simple Email Service for SMTP. The virtual machine runs on DigitalOcean, and the trainer notes that steps will differ for other cloud providers.

How do you test SMTP email delivery from a self-hosted GitLab server?

The lesson opens the gitlab-rails console, which takes about a minute to initialize, and runs a Notify test email command from the interactive Ruby terminal. A Delivered Mail message confirms GitLab can reach the SMTP provider and send email.

How long is this GitLab self-hosting lesson, and what should learners already know?

The lesson runs 54 minutes and is part of an expert-level course of about 9 hours and 18 minutes per learner. Training Managers should expect learners to already understand GitLab fundamentals, and entry-level IT practitioners may need prior GitLab exposure first.

How can a Training Manager assign this lesson and track completion across a DevOps team?

Training Managers can use CBT Nuggets Playlists to assign the right modules from the Advanced GitLab and DevOps Training course to engineers who will run self-hosted GitLab. Team reporting then shows per-learner progress and completion, cohort and group views, and completion exports for audit evidence.

Team training path

Turn this skill into assignable team training

This free skill is a preview of the courses your team can assign, track, and report on with CBT Nuggets.

What's next?

Ready to keep going?

For your team

Bring this training to your team

See how CBT Nuggets helps IT teams close skills gaps, hit compliance targets, and prove training ROI.

Book a Demo
Just need Adv GitLab DevOps?

Learning on your own? Browse individual plans ($49/month, billed annually) →

Not ready to buy?
with no purchase required. Already have an account?
Book a Demo