summaryrefslogtreecommitdiff
path: root/user/prosody/prosody.initd
diff options
context:
space:
mode:
Diffstat (limited to 'user/prosody/prosody.initd')
-rw-r--r--user/prosody/prosody.initd47
1 files changed, 47 insertions, 0 deletions
diff --git a/user/prosody/prosody.initd b/user/prosody/prosody.initd
new file mode 100644
index 000000000..1d835daca
--- /dev/null
+++ b/user/prosody/prosody.initd
@@ -0,0 +1,47 @@
+#!/sbin/openrc-run
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+description="Prosody is a server for prosody/XMPP written in Lua."
+description_reload="Reload configuration and reopen log files."
+extra_started_commands="reload"
+pidfile="/var/run/prosody/prosody.pid"
+
+depend() {
+ use dns
+ need net
+ provide prosody-server
+}
+
+checkconfig() {
+ if [ ! -e /etc/prosody/prosody.cfg.lua ] ; then
+ eerror "You need a /etc/prosody/prosody.cfg.lua file to run prosody"
+ return 1
+ fi
+ luac5.2 -p /etc/prosody/prosody.cfg.lua
+ return $?
+}
+
+start() {
+ checkconfig || return 1
+ checkpath -q -d -m 0770 -o prosody:prosody "$(dirname ${pidfile})"
+ checkpath -q -f -m 0770 -o prosody:prosody "${pidfile}"
+ checkpath -q -d -m 0750 -o prosody:prosody /var/log/prosody
+ ebegin "Starting Prosody XMPP Server"
+ prosodyctl start
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping Prosody XMPP Server"
+ prosodyctl stop
+ eend $?
+}
+
+reload() {
+ checkconfig || return 1
+ ebegin "Reloading configuration of Prosody XMPP Server"
+ prosodyctl reload
+ eend $?
+}