Setting up Geo

These instructions assume you have a working instance of GitLab. They guide you through:

  1. Making your existing instance the primary site.
  2. Adding secondary sites.

You must use a GitLab Premium license or higher, but you only need one license for all the sites.

caution
The steps below should be followed in the order they appear. Make sure the GitLab version is the same on all sites. Do not create an account or log in to the new secondary.

Using Omnibus GitLab

If you installed GitLab using the Omnibus packages (highly recommended):

  1. Confirm the requirements for running Geo are met.
  2. Install GitLab Enterprise Edition on the nodes that serve as the secondary site. Do not create an account or log in to the new secondary site. The GitLab version must match across primary and secondary sites.
  3. Add the GitLab License on the primary site to unlock Geo. The license must be for GitLab Premium or higher.
  4. Confirm network connectivity between the primary and secondary site.
  5. Set up the database replication (primary (read-write) <-> secondary (read-only) topology).
  6. Configure fast lookup of authorized SSH keys in the database. This step is required and needs to be done on both the primary and secondary sites.
  7. Configure GitLab to set the primary and secondary sites.
  8. Optional: Configure Object storage
  9. Optional: Configure a secondary LDAP server for the secondary sites. See notes on LDAP.
  10. Optional: Configure Geo secondary proxying to use a single, unified URL for all Geo sites. This step is recommended to accelerate most read requests while transparently proxying writes to the primary Geo site.
  11. Follow the Using a Geo Site guide.

Post-installation documentation

After installing GitLab on the secondary sites and performing the initial configuration, see the following documentation for post-installation information.