I have tried in the past and ran into similar (or the same?) issues. Time permitting, I will try your suggested solution as I was unable to get the service to run in the expected manner a machine at home.
As a side note, I started a small mercurial repository on bitbucket called runit-scripts. My goal is to eventually have a nearly complete list of runit service control scripts for Debian. The project is just something I am doing in my spare time so there's not much in it right now. The reason I mention it is that if this solution works well, I would like your permission to include it in the project. On Wed, Sep 24, 2014 at 3:01 PM, Alex Efros <[email protected]> wrote: > Hi! > > Is anyone here run ejabberd with runit? > Can you please share your service and log setup? > > I was able to correctly (I hope) start ejabberd as a service, but > I'm unable to configure it to send logs to svlogd. Usual workaround with > using fifo in place of log files doesn't work because AFAIK Erlang doesn't > support writing to fifo files. > > If anyone interested, here is my ./run for ejabberd. I had to use standard > tool ejabberdctl because it's way too complex to be safely replaced by > small custom command (I don't like to support it each time they'll add > another dozen of global ENV vars or new params). At same time ejabberdctl > doesn't configurable enough to run ejabberd in foreground without many > side effects (they call it "live" mode) - so I had to monkey-patch it. :-/ > > # cat ./run > #!/bin/bash > exec &>/dev/null > set start > source <( sed 's/ -detached//' $(which ejabberdctl) ) > chpst -u jabber killall epmd > > # cat ./control/t > #!/bin/bash > ejabberdctl stop > exit 0 > > -- > WBR, Alex. >
