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
bundled Sidekiq in the GitLab package.
You can configure an external Sidekiq instance by using the Sidekiq that's
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.
To configure the Sidekiq node:
## Required configuration
To configure Sidekiq:
1. SSH into the Sidekiq server.
1.[Download/install](https://about.gitlab.com/install/) the Omnibus GitLab package
you want using steps 1 and 2 from the GitLab downloads page.
**Do not complete any other steps on the download page.**
1. Open `/etc/gitlab/gitlab.rb` with your editor.
1. Generate the Sidekiq configuration:
1.[Download and install](https://about.gitlab.com/install/) the Omnibus GitLab package
using steps 1 and 2. **Do not complete any other steps.**
1. Edit `/etc/gitlab/gitlab.rb` with the following information and make sure
to replace with your values:
```ruby
## Optional: Enable extra Sidekiq processes
sidekiq_cluster['enable']=true
sidekiq['queue_groups']=[
"elastic_commit_indexer",
"*"
]
```
##
## To maintain uniformity of links across nodes, the
##`external_url` on the Sidekiq server should point to the external URL that users
## 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
redis['master_name']='gitlab-redis'
## The same password for Redis authentication you set up for the master node.