85 lines
1.9 KiB
Bash
Executable File
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
|
|
|