Files

85 lines
1.9 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
repo_root="${script_dir}"
mode="nossl"
restart_external_auth="0"
env_file="${repo_root}/.env.devprod"
usage() {
cat <<USAGE
Usage: ./docker-qortal-restart.sh [options]
Options:
--ssl Use docker-compose.devprod.yml
--nossl Use docker-compose.devprod.nossl.yml (default)
--env-file <path> Env file path (default: .env.devprod)
--restart-external-auth Restart external_auth after qortal_node
-h, --help Show this help
USAGE
}
while [[ $# -gt 0 ]]; do
case "$1" in
--ssl)
mode="ssl"
shift
;;
--nossl)
mode="nossl"
shift
;;
--env-file)
env_file="${2:-}"
shift 2
;;
--env-file=*)
env_file="${1#*=}"
shift
;;
--restart-external-auth)
restart_external_auth="1"
shift
;;
-h|--help)
usage
exit 0
;;
*)
echo "Unknown option: $1"
usage
exit 1
;;
esac
done
if [[ "${env_file}" != /* ]]; then
env_file="${repo_root}/${env_file}"
fi
if [[ ! -f "${env_file}" ]]; then
echo "Missing env file: ${env_file}"
exit 1
fi
compose_file="${repo_root}/docker-compose.devprod.nossl.yml"
if [[ "${mode}" == "ssl" ]]; then
compose_file="${repo_root}/docker-compose.devprod.yml"
fi
if [[ -x "${repo_root}/scripts/ensure-qortal-start-args.sh" ]]; then
"${repo_root}/scripts/ensure-qortal-start-args.sh" "${env_file}"
fi
echo "Restarting qortal_node using ${compose_file}..."
docker compose -f "${compose_file}" --env-file "${env_file}" restart qortal_node
if [[ "${restart_external_auth}" == "1" ]]; then
echo "Restarting external_auth..."
docker compose -f "${compose_file}" --env-file "${env_file}" restart external_auth
fi
docker compose -f "${compose_file}" --env-file "${env_file}" ps qortal_node external_auth