46 lines
1.3 KiB
Bash
46 lines
1.3 KiB
Bash
#!/bin/sh
|
|
|
|
# PROVIDE: woodpecker_server
|
|
# REQUIRE: DAEMON NETWORKING postgresql
|
|
# KEYWORD: shutdown
|
|
|
|
. /etc/rc.subr
|
|
|
|
name="woodpecker_server"
|
|
rcvar="woodpecker_server_enable"
|
|
|
|
load_rc_config $name
|
|
|
|
: ${woodpecker_server_enable:="NO"}
|
|
: ${woodpecker_server_user:="root"}
|
|
: ${woodpecker_server_group:="wheel"}
|
|
: ${woodpecker_server_bin:="/usr/local/bin/woodpecker-server"}
|
|
: ${woodpecker_server_dir:="/usr/local/etc/woodpecker"}
|
|
|
|
# Pfad zu deiner .env Datei (pass ihn ggf. an, wenn sie in /root liegt!)
|
|
: ${woodpecker_server_envfile:="${woodpecker_server_dir}/server.env"}
|
|
|
|
pidfile="/var/run/${name}.pid"
|
|
command="/usr/sbin/daemon"
|
|
|
|
# Hier ist die Änderung: Wir überschreiben das Standard-Start-Kommando
|
|
start_cmd="woodpecker_server_start"
|
|
|
|
woodpecker_server_start() {
|
|
echo "Starting woodpecker_server with environment from ${woodpecker_server_envfile}..."
|
|
|
|
# Prüfen, ob die Datei existiert
|
|
if [ ! -f "${woodpecker_server_envfile}" ]; then
|
|
echo "Error: .env file not found at ${woodpecker_server_envfile}"
|
|
return 1
|
|
fi
|
|
|
|
# Die .env Datei laden und alle Zeilen exportieren
|
|
# Wir filtern Kommentare (#) und leere Zeilen aus
|
|
export $(grep -v '^#' "${woodpecker_server_envfile}" | xargs)
|
|
|
|
# Jetzt den Daemon starten
|
|
/usr/sbin/daemon -f -P ${pidfile} -r ${woodpecker_server_bin}
|
|
}
|
|
|
|
run_rc_command "$1" |