Eu tenho uma aplicação Sinatra em /my/app/folder/app.rb que eu normalmente executo na minha máquina local com o comando rackup -p 9210
. Eu gostaria de criar um serviço que inicie o aplicativo em cada inicialização e reinicie. Eu tentei o seguinte, mas não funcionou:
$ vim /lib/systemd/system/mydaemon.service
[Unit]
Description=Simple supervisor
[Service]
User=username
Group=username
WorkingDirectory=/my/app/folder/
Restart=always
ExecStart=/usr/local/rvm/gems/ruby-2.3.0/bin/rackup -p 9210
Então eu recarrego os deamons:
systemctl- deamon-reload
, inicie o serviço: systemctl start mydaemon
e verifique o status e recebo este erro:
● mydeamon.service - Simple deamon
Loaded: loaded (/lib/systemd/system/mydeamon.service; static)
Active: failed (Result: start-limit) since Wed 2017-12-06 17:07:39 GMT; 5s ago
Process: 355 ExecStart=/usr/local/rvm/gems/ruby-2.3.0/bin/rackup -p 9210 (code=exited, status=127)
Main PID: 355 (code=exited, status=127)
mydeamon.service: main process exited, code=exited, status=127/n/a
Unit mydeamon.service entered failed state.
mydeamon.service holdoff time over, scheduling restart.
Stopping Simple deamon...
Starting Simple deamon...
mydeamon.service start request repeated too quickly, refusing to start.
Failed to start Simple deamon.
Unit mydeamon.service entered failed state.
O que estou perdendo aqui?
Eu uso o RVM, então também tentei:
ExecStart=/usr/local/rvm/wrappers/ruby-2.3.0/rackup -p 9210
mas também não funcionou. Eu gostaria de receber sugestões.