Before you can do anything, you’ll need to install GitLab for your distribution. The best way to do this is by following the instructions on the GitLab installation instruction page. Be sure to note things like minimum hardware requirements!
While you are there, take a look at the instructions for the GitLab Runner setup. If you have a separate workhorse server that will be doing the heavy lifting of the actual building of all your projects, go ahead and follow through with any Docker installations necessary on those severs. The GitLab Runner installation instruction page will have all of the relevant information for that as well.
Once GitLab, Docker, and your GitLab Runners are setup on their appropriate machines, if you plan to use the GitLab Registry which will be covered here, visit the Docker Registry installation instruction page for further information. Be sure to follow any instructions for securing your registry install, as this will host all of your generated Docker images.
We will be using MinIO for our object storage rather than a cloud provider such as AWS or Google Cloud Storage, but if you choose to use one of those options you can skip this step and modify your configuration as needed later. MinIO is easily installed in just a few lines via Docker. You can find more information at the MinIO installation instruction page. Be sure to follow any instructions for securing your registry install, as this will host all of your build artifacts, lfs data, and is the backing storage for your registry.