aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rw-r--r--scripts/init/freebsd/gogs46
-rwxr-xr-xscripts/start.sh2
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