Skip to content

Instantly share code, notes, and snippets.

@Dimaon
Forked from mkhuda/sidekiq.service
Last active June 5, 2019 08:32
Show Gist options
  • Save Dimaon/3aa12d2e32b6b54e0768d30b4c6de4d3 to your computer and use it in GitHub Desktop.
Save Dimaon/3aa12d2e32b6b54e0768d30b4c6de4d3 to your computer and use it in GitHub Desktop.
Sidekiq service auto start for Ubuntu 16.04 using Systemd
#
# Sidekiq auto start using systemd unit file for Ubuntu 16.04
#
# Put this in /lib/systemd/system (Ubuntu).
# Run:
# 1. systemctl enable sidekiq (to enable sidekiq service)
# 2. systemctl {start,stop,restart} sidekiq (to start sidekiq service)
#
# This file corresponds to a single Sidekiq process. Add multiple copies
# to run multiple processes (sidekiq-1, sidekiq-2, etc).
#
# See Inspeqtor's Systemd wiki page for more detail about Systemd:
# https://github.com/mperham/inspeqtor/wiki/Systemd
#
[Unit]
Description=sidekiq
# start us only once the network and logging subsystems are available,
# consider adding redis-server.service if Redis is local and systemd-managed.
After=syslog.target network.target
# See these pages for lots of options:
# http://0pointer.de/public/systemd-man/systemd.service.html
# http://0pointer.de/public/systemd-man/systemd.exec.html
[Service]
Type=simple
WorkingDirectory=/home/www/
# If you use rbenv or rvm:
ExecStart=/bin/bash -lc 'bundle exec sidekiq -e -q default -q mailers production'
# If you use the system's ruby:
# ExecStart=bundle exec sidekiq -e production
User=deploy
Group=deploy
UMask=0002
# if we crash, restart
RestartSec=1
Restart=on-failure
# output goes to /var/log/syslog
StandardOutput=syslog
StandardError=syslog
# This will default to "bundler" if we don't specify it
SyslogIdentifier=sidekiq
[Install]
WantedBy=multi-user.target
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment