diff --git a/rootfs/etc/cont-init.d/04-svc-main.sh b/rootfs/etc/cont-init.d/04-svc-main.sh index 5ac92f93..cb852568 100644 --- a/rootfs/etc/cont-init.d/04-svc-main.sh +++ b/rootfs/etc/cont-init.d/04-svc-main.sh @@ -33,6 +33,7 @@ DB_TIMEOUT=${DB_TIMEOUT:-60} SIDECAR_DISPATCHER=${SIDECAR_DISPATCHER:-0} SIDECAR_SYSLOGNG=${SIDECAR_SYSLOGNG:-0} SIDECAR_SNMPTRAPD=${SIDECAR_SNMPTRAPD:-0} +DISABLE_DB_MIGRATE=${DISABLE_DB_MIGRATE:-0} if [ "$SIDECAR_DISPATCHER" = "1" ] || [ "$SIDECAR_SYSLOGNG" = "1" ] || [ "$SIDECAR_SNMPTRAPD" = "1" ]; then exit 0 @@ -77,9 +78,13 @@ if [ "${counttables}" -eq "0" ]; then echo "INSTALL=user,finish" >>${LIBRENMS_PATH}/.env fi -echo "Updating database schema..." -lnms migrate --force --no-ansi --no-interaction -artisan db:seed --force --no-ansi --no-interaction +if [ "${DISABLE_DB_MIGRATE}" -ne "1" ] ; then + echo "Updating database schema..." + lnms migrate --force --no-ansi --no-interaction + artisan db:seed --force --no-ansi --no-interaction +else + echo "Skipping database migration and seeding as DISABLE_DB_MIGRATE is set to 1." +fi echo "Clear cache" artisan cache:clear --no-interaction diff --git a/rootfs/etc/cont-init.d/07-svc-cron.sh b/rootfs/etc/cont-init.d/07-svc-cron.sh index 96ffc70b..8bd6258a 100644 --- a/rootfs/etc/cont-init.d/07-svc-cron.sh +++ b/rootfs/etc/cont-init.d/07-svc-cron.sh @@ -3,16 +3,22 @@ set -e CRONTAB_PATH="/var/spool/cron/crontabs" +CRON_HOOK_PATH="/data/cron-pre-hook" LIBRENMS_WEATHERMAP=${LIBRENMS_WEATHERMAP:-false} LIBRENMS_WEATHERMAP_SCHEDULE=${LIBRENMS_WEATHERMAP_SCHEDULE:-*/5 * * * *} LIBRENMS_DAILY_SCHEDULE="15 0 * * *" +LIBRENMS_SCHEDULER_SCHEDULE="* * * * *" SIDECAR_DISPATCHER=${SIDECAR_DISPATCHER:-0} SIDECAR_SYSLOGNG=${SIDECAR_SYSLOGNG:-0} SIDECAR_SNMPTRAPD=${SIDECAR_SNMPTRAPD:-0} +DISABLE_CRON=${DISABLE_CRON:-0} -if [ "$SIDECAR_DISPATCHER" = "1" ] || [ "$SIDECAR_SYSLOGNG" = "1" ] || [ "$SIDECAR_SNMPTRAPD" = "1" ]; then +if [ "$SIDECAR_DISPATCHER" = "1" ] || \ + [ "$SIDECAR_SYSLOGNG" = "1" ] || \ + [ "$SIDECAR_SNMPTRAPD" = "1" ] || \ + [ "$DISABLE_CRON" = "1" ] ; then exit 0 fi @@ -23,11 +29,14 @@ touch ${CRONTAB_PATH}/librenms # Cron echo "Creating LibreNMS daily.sh cron task with the following period fields: $LIBRENMS_DAILY_SCHEDULE" -echo "${LIBRENMS_DAILY_SCHEDULE} cd /opt/librenms/ && bash daily.sh" >>${CRONTAB_PATH}/librenms +echo "${LIBRENMS_DAILY_SCHEDULE} [ -e \"${CRON_HOOK_PATH}\" ] && source \"${CRON_HOOK_PATH}\" ; cd /opt/librenms && bash daily.sh" >>${CRONTAB_PATH}/librenms + +echo "Creating LibreNMS scheduler cron task as we are running in a container" +echo "${LIBRENMS_SCHEDULER_SCHEDULE} [ -e \"${CRON_HOOK_PATH}\" ] && source \"${CRON_HOOK_PATH}\" ; cd /opt/librenms && php artisan schedule:run" >>${CRONTAB_PATH}/librenms if [ "$LIBRENMS_WEATHERMAP" = "true" ] && [ -n "$LIBRENMS_WEATHERMAP_SCHEDULE" ]; then echo "Creating LibreNMS Weathermap cron task with the following period fields: $LIBRENMS_WEATHERMAP_SCHEDULE" - echo "${LIBRENMS_WEATHERMAP_SCHEDULE} php -f /opt/librenms/html/plugins/Weathermap/map-poller.php" >>${CRONTAB_PATH}/librenms + echo "${LIBRENMS_WEATHERMAP_SCHEDULE} [ -e \"${CRON_HOOK_PATH}\" ] && source \"${CRON_HOOK_PATH}\" ; php -f /opt/librenms/html/plugins/Weathermap/map-poller.php" >>${CRONTAB_PATH}/librenms fi echo "Creating LibreNMS cron artisan schedule:run"