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