[Unit]
Description=GitLab Sidekiq Worker
Requires=redis.service gitlab-unicorn.service
Wants=mysqld.service postgresql.service
After=redis.service mysqld.service postgresql.service network.target gitlab-unicorn.service
JoinsNamespaceOf=gitlab-unicorn.service

[Service]
User=gitlab
Group=gitlab
WorkingDirectory=<DATADIR>
Environment=RAILS_ENV=production PATH=/opt/ruby/bin:/usr/bin
SyslogIdentifier=gitlab-sidekiq
PIDFile=/run/gitlab/sidekiq.pid
CapabilityBoundingSet=
PrivateTmp=true
PrivateDevices=true
ProtectSystem=full
ProtectHome=true
# NoNewPrivileges breaks gitlabs' email delivery if you
# use postfix' sendmail wrapper. If you use an SMTP server
# instead you can safely enable this security feature.
#NoNewPrivileges=true
ExecStart=/usr/bin/bundle exec sidekiq -C <DATADIR>/config/sidekiq_queues.yml -e production
ExecStop=/usr/bin/bundle exec sidekiqctl stop /run/gitlab/sidekiq.pid
Restart=on-failure
RestartSec=1

[Install]
WantedBy=multi-user.target