forked from finn/tinyboard
setup-opds.sh: add boot watchdog cron to restart dir2opds if books mount is empty after reboot
This commit is contained in:
@@ -306,6 +306,28 @@ fi
|
|||||||
sleep 3
|
sleep 3
|
||||||
docker logs caddy-opds --tail 5 2>/dev/null || true
|
docker logs caddy-opds --tail 5 2>/dev/null || true
|
||||||
|
|
||||||
|
header "Setting Up Mount Watchdog"
|
||||||
|
|
||||||
|
WATCHDOG_SCRIPT="/usr/local/bin/opds-watchdog.sh"
|
||||||
|
cat > "$WATCHDOG_SCRIPT" << EOF
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
BOOKS_PATH="${BOOKS_PATH}"
|
||||||
|
SERVER_NAME="${OPDS_SERVER}"
|
||||||
|
if [ -d "\$BOOKS_PATH" ] && [ -z "\$(ls -A "\$BOOKS_PATH" 2>/dev/null)" ]; then
|
||||||
|
docker restart "\$SERVER_NAME" 2>/dev/null || true
|
||||||
|
fi
|
||||||
|
EOF
|
||||||
|
chmod +x "$WATCHDOG_SCRIPT"
|
||||||
|
|
||||||
|
CRON_LINE="@reboot sleep 30 && $WATCHDOG_SCRIPT"
|
||||||
|
EXISTING_ROOT_CRON=$(crontab -l 2>/dev/null || true)
|
||||||
|
if ! echo "$EXISTING_ROOT_CRON" | grep -qF "opds-watchdog"; then
|
||||||
|
{ echo "$EXISTING_ROOT_CRON"; echo "$CRON_LINE"; } | crontab -
|
||||||
|
info "Watchdog crontab entry added — restarts $OPDS_SERVER if mount is empty on boot."
|
||||||
|
else
|
||||||
|
info "Watchdog crontab entry already exists."
|
||||||
|
fi
|
||||||
|
|
||||||
header "OPDS Setup Complete"
|
header "OPDS Setup Complete"
|
||||||
echo ""
|
echo ""
|
||||||
echo -e " OPDS URL: ${GREEN}https://${OPDS_DOMAIN}${NC}"
|
echo -e " OPDS URL: ${GREEN}https://${OPDS_DOMAIN}${NC}"
|
||||||
|
|||||||
Reference in New Issue
Block a user