Updated ejabberd service to make it work
svn path=/nixos/trunk/; revision=12270
This commit is contained in:
parent
7813be5e54
commit
045ae06092
@ -1386,9 +1386,14 @@
|
||||
description = "Whether to enable ejabberd server";
|
||||
};
|
||||
|
||||
user = mkOption {
|
||||
default = "nobody";
|
||||
description = "User account under which ejabberd runs.";
|
||||
spoolDir = mkOption {
|
||||
default = "/var/lib/ejabberd";
|
||||
description = "Location of the spooldir of ejabberd";
|
||||
};
|
||||
|
||||
logsDir = mkOption {
|
||||
default = "/var/log/ejabberd";
|
||||
description = "Location of the logfile directory of ejabberd";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -4,19 +4,30 @@ let
|
||||
|
||||
cfg = config.services.ejabberd;
|
||||
|
||||
ejabberdService = import ../services/ejabberd {
|
||||
inherit (cfg) user;
|
||||
inherit (pkgs) stdenv erlang ejabberd su;
|
||||
};
|
||||
|
||||
in
|
||||
{
|
||||
name = "ejabberd";
|
||||
job = "
|
||||
description \"EJabberd server\"
|
||||
name = "ejabberd";
|
||||
|
||||
stop on shutdown
|
||||
job = ''
|
||||
description "EJabberd server"
|
||||
|
||||
respawn ${ejabberdService}/bin/control start
|
||||
";
|
||||
start on network-interface/started
|
||||
stop on network-interfaces/stop
|
||||
|
||||
start script
|
||||
# Initialise state data
|
||||
mkdir -p ${cfg.logsDir}
|
||||
|
||||
if ! test -d ${cfg.spoolDir}
|
||||
then
|
||||
cp -av ${pkgs.ejabberd}/var/lib/ejabberd /var/lib
|
||||
fi
|
||||
end script
|
||||
|
||||
respawn ${pkgs.bash}/bin/sh -c 'export PATH=$PATH:${pkgs.ejabberd}/sbin; cd ~; ejabberdctl --logs ${cfg.logsDir} --spool ${cfg.spoolDir} start; sleep 1d'
|
||||
|
||||
stop script
|
||||
${pkgs.ejabberd}/sbin/ejabberdctl stop
|
||||
end script
|
||||
'';
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user