62 lines
1.3 KiB
Bash
Executable File
62 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
USERNAME=$USER;
|
|
RSA_FILE=~/.ssh/id_rsa
|
|
|
|
if [ -n "$ID_RSA" ]; then
|
|
RSA_FILE=$ID_RSA
|
|
fi
|
|
|
|
echo "RSA_FILE = $RSA_FILE"
|
|
|
|
RSA_FILE=~/.ssh/id_rsa
|
|
|
|
if [ -n "$ID_RSA" ]; then
|
|
RSA_FILE=$ID_RSA
|
|
fi
|
|
|
|
echo "RSA_FILE = $RSA_FILE"
|
|
|
|
|
|
if [ -f ~/.vnc-gcp-user ]; then
|
|
echo "found username config..."
|
|
USERNAME=$(cat ~/.vnc-gcp-user | grep "^USERNAME" | awk -F "=" '{print $2}');
|
|
echo "using username $USERNAME for gcp ssh tunnels"
|
|
fi
|
|
|
|
if [ -S "/tmp/vncddb.sock" ]; then
|
|
echo "Socket for vncdirectory database already active - skipping"
|
|
else
|
|
echo "starting tunnel for vncdirectory db"
|
|
ssh -i $RSA_FILE "$USERNAME@10.0.201.44" -o "proxycommand ssh -W %h:%p $USERNAME@34.107.1.238" -f -N -M -S /tmp/vncddb.sock -L 54322:127.0.0.1:5432
|
|
sleep 3
|
|
fi
|
|
|
|
|
|
echo "starting..."
|
|
export NODE_ENV=development
|
|
export PORT=8000
|
|
node app/app.js 2>&1 | tee -a /tmp/vncha-api.log &
|
|
|
|
echo "waiting for api service to start..."
|
|
sleep 10
|
|
|
|
osslug=$(uname);
|
|
serverup="1";
|
|
|
|
while [ "$serverup" = 1 ]; do
|
|
serverup="0";
|
|
if [ "$osslug" = "Linux" ]; then
|
|
serverup=$(netstat -nlp 2>/dev/null | grep -c "9544");
|
|
fi
|
|
if [ "$osslug" = "Darwin" ]; then
|
|
serverup=$(netstat -an -ptcp 2>/dev/null | grep LISTEN | grep -c "9544");
|
|
fi
|
|
|
|
sleep 10
|
|
done
|
|
|
|
echo "api service no longer running - closing tunnels"
|
|
|
|
ssh -S /tmp/vncddb.sock -O exit "$USER@10.0.201.44"
|