diff options
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/init/freebsd/gogs | 46 | ||||
-rwxr-xr-x | scripts/start.sh | 2 |
2 files changed, 47 insertions, 1 deletions
diff --git a/scripts/init/freebsd/gogs b/scripts/init/freebsd/gogs new file mode 100644 index 00000000..df13ee0d --- /dev/null +++ b/scripts/init/freebsd/gogs @@ -0,0 +1,46 @@ +#!/bin/sh +# +# $FreeBSD$ +# +# PROVIDE: gogs +# REQUIRE: NETWORKING SYSLOG +# KEYWORD: shutdown +# +# Add the following lines to /etc/rc.conf to enable gogs: +# +#gogs_enable="YES" + +. /etc/rc.subr + +name="gogs" +rcvar="gogs_enable" + +load_rc_config $name + +: ${gogs_user:="git"} +: ${gogs_enable:="NO"} +: ${gogs_directory:="/home/git"} + +command="${gogs_directory}/scripts/start.sh" + +pidfile="${gogs_directory}/${name}.pid" + +start_cmd="${name}_start" +stop_cmd="${name}_stop" + +gogs_start() { + cd ${gogs_directory} + export USER=${gogs_user} + export HOME=${gogs_directory} + /usr/sbin/daemon -f -u ${gogs_user} -p ${pidfile} $command +} + +gogs_stop() { + if [ ! -f $pidfile ]; then + echo "GOGS PID File not found. Maybe GOGS is not running?" + else + kill $(cat $pidfile) + fi +} + +run_rc_command "$1" diff --git a/scripts/start.sh b/scripts/start.sh index 85de4556..997b5fc2 100755 --- a/scripts/start.sh +++ b/scripts/start.sh @@ -12,4 +12,4 @@ USER=$(whoami) HOME=$(grep "^$USER:" /etc/passwd | cut -d: -f6) export USER HOME PATH -cd "$(pwd)" && exec ./gogs web +cd "$(dirname "$0")/.." && exec ./gogs web |