deployment files and script

This commit is contained in:
Shivering Ocelot committed 2026-08-30 17:33:31 -05:00
1 parent 6c5140fb92
commit 3b2b3507e5
4 files changed
+141

No files matched your search

+93
View File
@@ -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