mirror of
https://github.com/ergochat/ergo.git
synced 2024-11-21 19:39:43 +01:00
58 lines
1.1 KiB
Bash
58 lines
1.1 KiB
Bash
#!/bin/sh
|
|
|
|
# Init script for the ergo IRCd
|
|
# Created 14/06/2021 by georg@lysergic.dev
|
|
# Desgigned for and tested on Slackware -current
|
|
# Depends on `daemon` (installable using slackpkg)
|
|
# In its stock configuration ergo will be jailed to /opt/ergo - all paths are relative from there. Consider this in your ergo configuration file (i.e. certificate, database and log locations)
|
|
|
|
NAME=ergo
|
|
DIR=/opt/ergo
|
|
ERGO=/ergo
|
|
DAEMONIZER=/usr/bin/daemon
|
|
CONFIG=ircd.yaml
|
|
USER=ergo
|
|
GROUP=ergo
|
|
|
|
daemon_start() {
|
|
$DAEMONIZER -n $NAME -v -- chroot --userspec=$USER --groups=$USER -- $DIR $ERGO run --conf $CONFIG
|
|
}
|
|
|
|
daemon_stop() {
|
|
$DAEMONIZER --stop -n $NAME -v
|
|
}
|
|
|
|
daemon_restart() {
|
|
$DAEMONIZER --restart -n $NAME -v
|
|
}
|
|
|
|
daemon_reload() {
|
|
$DAEMONIZER --signal=SIGHUP -n $NAME -v
|
|
}
|
|
|
|
daemon_status() {
|
|
$DAEMONIZER --running -n $NAME -v
|
|
}
|
|
|
|
case "$1" in
|
|
start)
|
|
daemon_start
|
|
;;
|
|
stop)
|
|
daemon_stop
|
|
;;
|
|
restart)
|
|
daemon_restart
|
|
;;
|
|
reload)
|
|
daemon_reload
|
|
;;
|
|
status)
|
|
daemon_status
|
|
;;
|
|
*)
|
|
echo "Source: https://github.com/ergochat/ergo"
|
|
echo "Usage: $0 {start|stop|restart|reload|status}"
|
|
exit 1
|
|
esac
|