Skip to content

Instantly share code, notes, and snippets.

@anhphamt
Forked from reabiliti/sidekiq.service
Created May 13, 2020 10:32
Show Gist options
  • Save anhphamt/382eaeb167d5d98d86a36cbf64f7b881 to your computer and use it in GitHub Desktop.
Save anhphamt/382eaeb167d5d98d86a36cbf64f7b881 to your computer and use it in GitHub Desktop.
Sidekiq service auto start for Ubuntu 18.04 using Systemd
#
# Sidekiq auto start using systemd unit file for Ubuntu 18.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/Public/Rails/your-rails-app
# If you use rbenv or rvm:
# ExecStart=/bin/bash -lc 'bundle exec sidekiq -e production'
# If you use the system's ruby:
# ExecStart=bundle exec sidekiq -e production
ExecStart=/home/deploy/.rbenv/bin/rbenv exec bundle exec sidekiq -e production -c 3 -q mailers -q default
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