Understanding the anatomy of GitLab

GitLab is a complex system; it has a lot of moving parts. It's very useful to understand the architecture of GitLab.

At the core of GitLab is the GitLab web app. This is what you see and use everyday. This web app is built upon the Ruby on Rails framework. The database it connects to depends on your configuration, but GitLab advises you to use PostgreSQL.

GitLab is not directly connected to the Web, but it needs an app server and a web server to connect to the outside world. For the app server, Unicorn is used. For the web server, GitLab uses either Nginx or Apache; the GitLab team advises you to use Nginx.

There are a lot of things that need to run in the background. For example, when you push a commit to GitLab, ...

Get GitLab Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.