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