Building omnibus-gitlab packages and Docker images locally

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 the omnibus tool for building packages for the supported operating systems. The omnibus tool will detect the OS where it is being used and build packages for that OS. It is recommended to 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

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 20.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.