Building omnibus-gitlab packages and Docker images locally

note
If you are a GitLab team member, you have access to our CI infrastructure which can be used to build these artifacts. Check the documentation for more details.

omnibus-gitlab packages

omnibus-gitlab uses Omnibus for building packages for the supported operating systems. Omnibus detects the OS where it is being used and build packages for that OS. You should use a Docker container corresponding to the OS as the environment for building packages.

How to build a custom package locally is described in the dedicated document.

All-in-one Docker image

note
If you want individual Docker images for each GitLab component instead of the all-in-one monolithic one, check out the CNG repository.

The GitLab all-in-one Docker image uses the omnibus-gitlab package built for Ubuntu 22.04 under the hood. The Dockerfile is optimized to be used in a CI environment, with the expectation of packages being available over the Internet.

We’re looking at improving this situation in issue #5550.

How to build an all-in-one Docker image locally is described in the dedicated document.