info:To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
info:To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
---
---
# Configuring Sidekiq **(FREE SELF)**
# Configure an external Sidekiq instance **(FREE SELF)**
This section discusses how to configure an external Sidekiq instance using the
You can configure an external Sidekiq instance by using the Sidekiq that's
bundled Sidekiq in the GitLab package.
bundled in the GitLab package. Sidekiq requires connection to the Redis,
PostgreSQL, and Gitaly instances.
Sidekiq requires connection to the Redis, PostgreSQL and Gitaly instance.
## Required configuration
To configure the Sidekiq node:
To configure Sidekiq:
1. SSH into the Sidekiq server.
1. SSH into the Sidekiq server.
1.[Download/install](https://about.gitlab.com/install/) the Omnibus GitLab package
1.[Download and install](https://about.gitlab.com/install/) the Omnibus GitLab package
you want using steps 1 and 2 from the GitLab downloads page.
using steps 1 and 2. **Do not complete any other steps.**
**Do not complete any other steps on the download page.**
1. Edit `/etc/gitlab/gitlab.rb` with the following information and make sure
1. Open `/etc/gitlab/gitlab.rb` with your editor.
to replace with your values:
1. Generate the Sidekiq configuration:
```ruby
```ruby
## Optional: Enable extra Sidekiq processes
##
sidekiq_cluster['enable']=true
## To maintain uniformity of links across nodes, the
sidekiq['queue_groups']=[
##`external_url` on the Sidekiq server should point to the external URL that users
"elastic_commit_indexer",
## use to access GitLab. This can be either:
"*"
##
]
## - The `external_url` set on your application server.
```
## - The URL of a external load balancer, which routes traffic to the GitLab application server.
##
1. Setup Sidekiq's connection to Redis:
external_url'https://gitlab.example.com'
## Prevent database migrations from running on upgrade automatically
gitlab_rails['auto_migrate']=false
########################################
##### Services Disabled ###
########################################
#
# When running GitLab on just one server, you have a single `gitlab.rb`
# to enable all services you want to run.
# When running GitLab on N servers, you have N `gitlab.rb` files.
# Enable only the services you want to run on each
# specific server, while disabling all others.
#
nginx['enable']=false
grafana['enable']=false
prometheus['enable']=false
gitlab_rails['auto_migrate']=false
alertmanager['enable']=false
gitaly['enable']=false
gitlab_workhorse['enable']=false
nginx['enable']=false
postgres_exporter['enable']=false
postgresql['enable']=false
redis['enable']=false
redis_exporter['enable']=false
puma['enable']=false
gitlab_exporter['enable']=false
#######################################
### Sidekiq configuration ###
#######################################
sidekiq['enable']=true
sidekiq['listen_address']="0.0.0.0"
## Set number of Sidekiq queue processes to the same number as available CPUs
sidekiq['queue_groups']=['*']*4
## Set number of Sidekiq threads per queue process to the recommend number of 10
sidekiq['max_concurrency']=10
########################################
#### Redis ###
########################################
```ruby
## Must be the same in every sentinel node
## Must be the same in every sentinel node
redis['master_name']='gitlab-redis'
redis['master_name']='gitlab-redis'
## The same password for Redis authentication you set up for the master node.
## The same password for Redis authentication you set up for the master node.