Wire net_alerter cron into setup.sh — reads bb-config.env, seeds baseline on first boot

This commit is contained in:
Cobra
2026-04-08 13:50:58 -04:00
parent b0fd5865cc
commit 1dbcb6aad3
+43
View File
@@ -857,6 +857,49 @@ info "Run '${INSTALL_DIR}/bigbrother.py' to start"
# ════════════════════════════════════════════════════════════════════════════
# 12. ENABLE AND START SERVICE
# ════════════════════════════════════════════════════════════════════════════
# ════════════════════════════════════════════════════════════════════════════
# 12. NET ALERTER CRON
# ════════════════════════════════════════════════════════════════════════════
step "Configuring net_alerter..."
BB_CONFIG="/root/bb-config.env"
if [[ -f "$BB_CONFIG" ]]; then
# shellcheck source=/dev/null
source "$BB_CONFIG"
fi
if [[ "${BB_ALERTER_TYPE:-}" == "matrix" && -n "${BB_ALERTER_MATRIX_TOKEN:-}" ]]; then
mkdir -p /opt/net_alerter
cp "${INSTALL_DIR}/net_alerter/net_alerter.py" /opt/net_alerter/net_alerter.py
cat > /opt/net_alerter/.env <<ALERTENV
MATRIX_HOMESERVER=${BB_ALERTER_MATRIX_HS}
MATRIX_ACCESS_TOKEN=${BB_ALERTER_MATRIX_TOKEN}
MATRIX_ROOM_ID=${BB_ALERTER_MATRIX_ROOM}
NET_ALERTER_DB=/opt/net_alerter/devices.db
ALERTENV
chmod 600 /opt/net_alerter/.env
cat > /opt/net_alerter/run.sh <<'WRAPPER'
#!/usr/bin/env bash
set -a; source /opt/net_alerter/.env; set +a
exec python3 /opt/net_alerter/net_alerter.py
WRAPPER
chmod +x /opt/net_alerter/run.sh
CRON="*/5 * * * * /opt/net_alerter/run.sh >> /opt/net_alerter/net_alerter.log 2>&1"
(crontab -l 2>/dev/null | grep -v net_alerter; echo "$CRON") | crontab -
info "net_alerter installed — scanning every 5 min, Matrix alerts on join/leave/rejoin"
info "Seeding baseline (silent first run)..."
bash /opt/net_alerter/run.sh >> /opt/net_alerter/net_alerter.log 2>&1 || warn "Baseline scan failed — will retry at next cron tick"
else
debug "No Matrix alerter configured — skipping net_alerter setup"
fi
# ════════════════════════════════════════════════════════════════════════════
# 13. ENABLE AND START SERVICE
# ════════════════════════════════════════════════════════════════════════════
if [[ $FLAG_ENABLE_SVC -eq 1 ]]; then
step "Enabling and starting BigBrother services..."
for svc in bigbrother-core.service bigbrother-capture.service bigbrother-watchdog.service bettercap.service; do