- Prerequisites
- Using Linux package installations
- Using GitLab Charts
- Geo and self-compiled installations
- Post-installation documentation
Setting up Geo
Prerequisites
- Two (or more) independently working GitLab sites:
- One GitLab site serves as the Geo primary site. Use the GitLab reference architectures documentation to set this up. You can use different reference architecture sizes for each Geo site. If you already have a working GitLab instance that is in-use, it can be used as a primary site.
- The second GitLab site serves as the Geo secondary site. Use the GitLab reference architectures documentation to set this up. It’s a good idea to sign in and test it. However, be aware that all of the data on the secondary are lost as part of the process of replicating from the primary site.
Geo supports multiple secondaries. You can follow the same steps and make any changes accordingly. - Ensure the primary site has a GitLab Premium or Ultimate subscription to unlock Geo. You only need one license for all the sites.
- Confirm the requirements for running Geo are met by all sites. For example, sites must use the same GitLab version, and sites must be able to communicate with each other over certain ports.
- Confirm the primary and secondary site storage configurations match. If the primary Geo site uses object storage, the secondary Geo site must use it too. For more information, see Geo with Object storage.
- Ensure clocks are synchronized between the primary site and the secondary site. Synchronized clocks are required for Geo to function correctly. For example, if the clock drift between the primary and secondary sites exceeds 1 minute, replication fails.
Using Linux package installations
If you installed GitLab using the Linux package (highly recommended), the process for setting up Geo depends on whether you need to set up a single-node Geo site or a multi-node Geo site.
Single-node Geo sites
If both Geo sites are based on the 1K reference architecture:
- Set up the database replication based on your choice of PostgreSQL instances (
primary (read-write) <-> secondary (read-only)
topology): - Configure GitLab to set the primary and secondary sites.
- Recommended: Configure unified URLs to use a single, unified URL for all Geo sites.
- Optional: Configure Object storage replication
- Optional: Configure a secondary LDAP server for the secondary sites. See notes on LDAP.
- Optional: Configure Container Registry for the secondary site.
- Follow the Using a Geo Site guide.
Multi-node Geo sites
If one or more of your sites is using the 2K reference architecture or larger, see Configure Geo for multiple nodes.
Using GitLab Charts
Configure the GitLab chart with GitLab Geo.
Geo and self-compiled installations
Geo is not supported when you use a self-compiled GitLab installation.
Post-installation documentation
After installing GitLab on the secondary sites and performing the initial configuration, see the following documentation for post-installation information.