Standalone Redis using Omnibus GitLab

The Omnibus GitLab package can be used to configure a standalone Redis server. In this configuration, Redis is not scaled, and represents a single point of failure. However, in a scaled environment the objective is to allow the environment to handle more users or to increase throughput. Redis itself is generally stable and can handle many requests, so it is an acceptable trade off to have only a single instance. See the reference architectures page for an overview of GitLab scaling options.

Set up a standalone Redis instance

The steps below are the minimum necessary to configure a Redis server with Omnibus GitLab:

  1. SSH into the Redis server.
  2. Download and install the Omnibus GitLab package you want by using steps 1 and 2 from the GitLab downloads page. Do not complete any other steps on the download page.

  3. Edit /etc/gitlab/gitlab.rb and add the contents:

    ## Enable Redis
    redis['enable'] = true
    
    ## Disable all other services
    sidekiq['enable'] = false
    gitlab_workhorse['enable'] = false
    puma['enable'] = false
    postgresql['enable'] = false
    nginx['enable'] = false
    prometheus['enable'] = false
    alertmanager['enable'] = false
    pgbouncer_exporter['enable'] = false
    gitlab_exporter['enable'] = false
    gitaly['enable'] = false
    
    redis['bind'] = '0.0.0.0'
    redis['port'] = 6379
    redis['password'] = 'SECRET_PASSWORD_HERE'
    
    gitlab_rails['enable'] = false
    
  4. Reconfigure Omnibus GitLab for the changes to take effect.
  5. Note the Redis node’s IP address or hostname, port, and Redis password. These will be necessary when configuring the GitLab application servers later.

Advanced configuration options are supported and can be added if needed.

Troubleshooting

See the Redis troubleshooting guide.