Newer
Older
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments
---
# 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](team_member_docs.md)
for more details.
## `omnibus-gitlab` packages
`omnibus-gitlab` uses [Omnibus](https://github.com/chef/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](build_package.md).
## 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](https://gitlab.com/gitlab-org/build/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](https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/5550).
How to build an all-in-one Docker image locally is described in the
[dedicated document](build_docker_image.md).