DSM 6.x und darunter webhook über Systemstart aktivieren

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Alle DSM Version von DSM 6.x und älter

abrocksi

Benutzer
Registriert
27. Dez. 2013
Beiträge
282
Reaktionspunkte
91
Punkte
28
Hallo liebes Forum,

ich schlage mich gerade mit dem Thema webhook rum und habe die Idee, dass bei einer beliebigen Änderung in einem bestimmten Ordner, ein Script gestartet wird. Das erfüllt mir ein Container des images inotify-command-custom:latest. Wird die Änderung am Ordnerinhalt getriggert soll über einen CURL-Befehl wiederum ein Script angestossen werden. Hier kam mir die Idee eines webhooks.

Gemäß verschiedener Aussagen im Netz kann man dieses webhook-script auf verschiedene Arten starten (manuell, Aufgabenplaner, Neustart). Manuell und Aufgabenplaner ist relativ einfach für mich, aber was nicht gelingt, ist quasi der Autostart über /usr/local/etc/rc.d und dort liegend: webhook_listener.sh.

Hier mal das Script im Detail:
Code:
#!/bin/sh

# Webhook Listener Start/Stop Skript für DSM 6.2
# Required-Start: $network
# Required-Stop:
# Default-Start:  S
# Default-Stop:
# Short-Description: Startet Flask Webhook beim Systemstart

DAEMON="/volume1/homes/xxxyyyzzz/fotoindex/bin/python"
SCRIPT="/volume1/Dateilagerung/webhook_listener.py"
LOGFILE="/volume1/Dateilagerung/webhook.log"
PIDFILE="/var/run/webhook_listener.pid"

start() {
    echo "Starte Webhook Listener..."

    # Umgebungsvariablen setzen
    export PATH="/volume1/homes/xxxyyyzzz/fotoindex/bin:$PATH"
    export VIRTUAL_ENV="/volume1/homes/xxxyyyzzz/fotoindex"
    export PYTHONHOME="/volume1/homes/yyyxxxzzz/fotoindex"

    echo "$(date) - Starte Webhook Listener" >> /volume1/Dateilagerung/webhook_autostart_test.log
    source /volume1/homes/yyyxxxzzz/fotoindex/bin/activate
    nohup /volume1/homes/yyyxxxzzz/fotoindex/bin/python /volume1/Dateilagerung/webhook_listener.py > $LOGFILE 2>&1 &
    echo $! > $PIDFILE
}

stop() {
    echo "Stoppe Webhook Listener..."
    if [ -f "$PIDFILE" ]; then
        kill "$(cat $PIDFILE)" && rm -f $PIDFILE
    fi
}
case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    stop
    start
    ;;
  *)
    echo "Benutzung: $0 {start|stop|restart}"
    exit 1
esac
exit 0

Also starte ich webhook_listener.py manuell, befähigt es die Syno auf bspw. einen CURL Befehl zu reagieren. Was ich nicht schaffe ist der automatische Systemstart, also beim Hochfahren.

Hat hier jemand eine Idee bzw. Erfahrungen?

cheers,
abrocksi
 
In der Systemsteuerung via Aufgabenplaner geht nicht?
 
  • Like
Reaktionen: abrocksi
Doch, doch, das geht. Wollte im Forum nur mal erfragen, ob es jemand mit einer Datei im Pfad /usr/local/etc/rc.d geschafft hat?
 

Additional post fields

 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat