Fix deploy.sh to use SSH config alias instead of raw key/host
This commit is contained in:
+6
-12
@@ -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 -
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user