Files
qfixpt/tools/first_deploy.sh
2026-03-11 10:54:11 -03:00

44 lines
1.3 KiB
Bash
Executable File

#!/bin/sh
while getopts "a:" opt; do
case $opt in
a)
ssh_alias=$OPTARG
;;
\?)
echo "Invalid option: -$OPTARG" >&2
exit 1
;;
esac
done
# Check if the alias is not empty
if [ -z "$ssh_alias" ]; then
echo "\033[31mPlease input an ssh alias. Usage: first_deploy.sh -a {ssh_alias}"
exit 1
fi
# Check if the build exists
if [ ! -f "build/out/distribution/qfixpt.gz" ]; then
echo "\033[31mFile build/out/distribution/qfixpt.gz does not exist. Run make build"
exit 1
fi
# Create the service
scp tools/qfixpt.service "$ssh_alias":/lib/systemd/system/
# Create folder just in case
ssh "$ssh_alias" "systemctl daemon-reload;systemctl enable qfixpt.service;systemctl start qfixpt.service;mkdir -p /home/quantex/qfixpt"
# Create start, stop and restart scripts
scp tools/start "$ssh_alias":/home/quantex/qfixpt/
scp tools/stop "$ssh_alias":/home/quantex/qfixpt/
scp tools/restart "$ssh_alias":/home/quantex/qfixpt/
# Copy zipped binary
scp build/out/distribution/qfixpt.gz "$ssh_alias":/home/quantex/qfixpt/
scp tools/unzip-qfixpt.sh "$ssh_alias":/home/quantex/qfixpt/
# Unzip the binary. Then systemd restart it automatically on file change.
ssh "$ssh_alias" "chown quantex:quantex -R /home/quantex/qfixpt;chmod +x /home/quantex/qfixpt/unzip-qfixpt.sh; /home/quantex/qfixpt/unzip-qfixpt.sh"