From 571033f8dcb60f5318e29598da8796f2f8e67aae Mon Sep 17 00:00:00 2001 From: Cobra Date: Wed, 8 Apr 2026 21:55:18 -0400 Subject: [PATCH] Add deployment script for net_alerter daemon --- net_alerter/deploy-daemon.sh | 69 ++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100755 net_alerter/deploy-daemon.sh diff --git a/net_alerter/deploy-daemon.sh b/net_alerter/deploy-daemon.sh new file mode 100755 index 0000000..1c1d46a --- /dev/null +++ b/net_alerter/deploy-daemon.sh @@ -0,0 +1,69 @@ +#!/usr/bin/env bash +# Deploy net_alerter daemon to target host +# Usage: ./deploy-daemon.sh [user@host] [remote-dir] + +set -euo pipefail + +TARGET_HOST="${1:-root@10.0.0.0}" +REMOTE_DIR="${2:-/opt/net_alerter}" +SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" +SCRIPT="$SCRIPT_DIR/net_alerter.py" +SERVICE="$SCRIPT_DIR/net_alerter.service" + +if [[ ! -f "$SCRIPT" ]]; then + echo "[error] net_alerter.py not found at $SCRIPT" + exit 1 +fi + +if [[ ! -f "$SERVICE" ]]; then + echo "[error] net_alerter.service not found at $SERVICE" + exit 1 +fi + +echo "[*] Deploying to $TARGET_HOST..." + +# Create directory +ssh "$TARGET_HOST" "mkdir -p $REMOTE_DIR && ls -la $REMOTE_DIR" + +# Copy daemon script +echo "[*] Copying daemon script..." +scp "$SCRIPT" "$TARGET_HOST:$REMOTE_DIR/net_alerter.py" + +# Copy systemd unit +echo "[*] Copying systemd unit..." +scp "$SERVICE" "$TARGET_HOST:/etc/systemd/system/net_alerter.service" + +# If .env doesn't exist, create a template +echo "[*] Checking for .env..." +ssh "$TARGET_HOST" " +if [[ ! -f $REMOTE_DIR/.env ]]; then + cat > $REMOTE_DIR/.env <<'EOF' +MATRIX_HOMESERVER=https://m.example.org +MATRIX_ACCESS_TOKEN= +MATRIX_ROOM_ID= +EOF + chmod 600 $REMOTE_DIR/.env + echo '[warn] Created .env template - update MATRIX_ACCESS_TOKEN and MATRIX_ROOM_ID' +else + echo '[ok] .env exists' +fi +" + +# Remove old cron if present +echo "[*] Removing old cron entries..." +ssh "$TARGET_HOST" "crontab -l 2>/dev/null | grep -v net_alerter | crontab - 2>/dev/null || true" + +# Enable and start service +echo "[*] Enabling and starting service..." +ssh "$TARGET_HOST" " +systemctl daemon-reload +systemctl enable net_alerter +systemctl restart net_alerter +sleep 3 +systemctl status net_alerter --no-pager +" + +echo "[*] Checking logs..." +ssh "$TARGET_HOST" "journalctl -u net_alerter -n 20 --no-pager" + +echo "[done] net_alerter daemon deployed and running"