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:
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
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
