Fix deploy.sh to use SSH config alias instead of raw key/host

This commit is contained in:
n0mad1k
2026-03-25 06:05:32 -04:00
parent d7cdd489ce
commit 94abb6f2ce
+6 -12
View File
@@ -1,12 +1,10 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# Deploy net_alerter to condo Pi (10.0.0.0) # Deploy net_alerter to condo Pi
# Usage: ./deploy.sh [access_token] # Usage: ./deploy.sh [access_token]
set -euo pipefail set -euo pipefail
PI_USER="pi" SSH_ALIAS="condo"
PI_HOST="10.0.0.0"
PI_KEY="$HOME/.ssh/condo"
REMOTE_DIR="/opt/net_alerter" REMOTE_DIR="/opt/net_alerter"
SCRIPT="$(dirname "$0")/net_alerter.py" SCRIPT="$(dirname "$0")/net_alerter.py"
@@ -21,22 +19,20 @@ else
| python3 -c "import sys,json; print(json.load(sys.stdin)['access_token'])") | python3 -c "import sys,json; print(json.load(sys.stdin)['access_token'])")
fi fi
echo "[*] Deploying to $PI_HOST..." echo "[*] Deploying to $SSH_ALIAS..."
ssh -i "$PI_KEY" -o StrictHostKeyChecking=no "$PI_USER@$PI_HOST" " ssh -o StrictHostKeyChecking=no "$SSH_ALIAS" "
sudo mkdir -p $REMOTE_DIR sudo mkdir -p $REMOTE_DIR
sudo chown \$USER: $REMOTE_DIR sudo chown \$USER: $REMOTE_DIR
" "
scp -i "$PI_KEY" -o StrictHostKeyChecking=no "$SCRIPT" "$PI_USER@$PI_HOST:$REMOTE_DIR/net_alerter.py" scp -o StrictHostKeyChecking=no "$SCRIPT" "$SSH_ALIAS:$REMOTE_DIR/net_alerter.py"
ssh -i "$PI_KEY" -o StrictHostKeyChecking=no "$PI_USER@$PI_HOST" " ssh -o StrictHostKeyChecking=no "$SSH_ALIAS" "
# Install nmap if missing
if ! command -v nmap &>/dev/null; then if ! command -v nmap &>/dev/null; then
sudo apt-get install -y nmap sudo apt-get install -y nmap
fi fi
# Write env config
cat > $REMOTE_DIR/.env <<EOF cat > $REMOTE_DIR/.env <<EOF
MATRIX_HOMESERVER=https://m.example.org MATRIX_HOMESERVER=https://m.example.org
MATRIX_ACCESS_TOKEN=$TOKEN MATRIX_ACCESS_TOKEN=$TOKEN
@@ -45,7 +41,6 @@ NET_ALERTER_DB=$REMOTE_DIR/devices.db
EOF EOF
chmod 600 $REMOTE_DIR/.env chmod 600 $REMOTE_DIR/.env
# Write wrapper that sources env
cat > $REMOTE_DIR/run.sh <<'WRAPPER' cat > $REMOTE_DIR/run.sh <<'WRAPPER'
#!/usr/bin/env bash #!/usr/bin/env bash
set -a; source /opt/net_alerter/.env; set +a set -a; source /opt/net_alerter/.env; set +a
@@ -53,7 +48,6 @@ exec python3 /opt/net_alerter/net_alerter.py
WRAPPER WRAPPER
chmod +x $REMOTE_DIR/run.sh chmod +x $REMOTE_DIR/run.sh
# Install cron (every 5 minutes)
CRON='*/5 * * * * /opt/net_alerter/run.sh >> /opt/net_alerter/net_alerter.log 2>&1' 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 - (crontab -l 2>/dev/null | grep -v net_alerter; echo \"\$CRON\") | crontab -