#!/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"