deployment files and script
This commit is contained in:
1 parent
6c5140fb92
commit
3b2b3507e5
4 files changed
+141
No files matched your search
@@ -0,0 +1,93 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
host="root@hub.hordelab.com"
|
||||
|
||||
run_nginx() {
|
||||
echo "Uploading nginx config file"
|
||||
scp template/nginx.conf "$host:/etc/nginx/sites-enabled/hub.hordelab.com"
|
||||
ssh "$host" -t "
|
||||
nginx -s reload
|
||||
|
||||
# full process is currently broken
|
||||
#certbot --keep -d hub.hordelab.com
|
||||
|
||||
# uncomment if needed
|
||||
#certbot certonly -d hub.hordelab.com
|
||||
|
||||
#nginx -s reload
|
||||
"
|
||||
}
|
||||
|
||||
run_service() {
|
||||
echo "Uploading Launcher and Service"
|
||||
scp template/launch-hub.sh "$host:/var/horde/launch-hub.sh"
|
||||
scp template/systemd.service "$host:/etc/systemd/system/horde-hub.service"
|
||||
ssh "$host" -t "
|
||||
systemctl daemon-reload
|
||||
systemctl enable horde-hub.service
|
||||
systemctl start horde-hub.service
|
||||
"
|
||||
}
|
||||
|
||||
run_update() {
|
||||
echo "Updating repository"
|
||||
ssh "$host" -t "
|
||||
source ~/.nvm/nvm.sh #?
|
||||
|
||||
cd /var/horde/hub
|
||||
git pull
|
||||
make install
|
||||
"
|
||||
}
|
||||
|
||||
restart_service() {
|
||||
echo "Restarting horde-hub.service"
|
||||
ssh "$host" -t "systemctl restart horde-hub.service"
|
||||
}
|
||||
|
||||
# Determine which stages to run
|
||||
stages=()
|
||||
if [[ $# -eq 0 ]]; then
|
||||
# Interactive prompts when no arguments are given
|
||||
read -p "Run nginx deployment? [Y/n] " choice
|
||||
if [[ -z "$choice" || "$choice" =~ ^[Yy]$ ]]; then
|
||||
stages+=(nginx)
|
||||
fi
|
||||
|
||||
read -p "Run service deployment? [Y/n] " choice
|
||||
if [[ -z "$choice" || "$choice" =~ ^[Yy]$ ]]; then
|
||||
stages+=(service)
|
||||
fi
|
||||
|
||||
read -p "Run update (git pull + make install)? [Y/n] " choice
|
||||
if [[ -z "$choice" || "$choice" =~ ^[Yy]$ ]]; then
|
||||
stages+=(update)
|
||||
fi
|
||||
else
|
||||
# Parse arguments
|
||||
for arg in "$@"; do
|
||||
case "$arg" in
|
||||
nginx|service|update)
|
||||
stages+=("$arg")
|
||||
;;
|
||||
*)
|
||||
echo "Unknown argument: $arg" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
|
||||
# Execute selected stages
|
||||
for stage in "${stages[@]}"; do
|
||||
case "$stage" in
|
||||
nginx) run_nginx ;;
|
||||
service) run_service ;;
|
||||
update) run_update ;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Final stage: always restart the systemd service at the end
|
||||
restart_service
|
||||
Reference in new issue
Block a user