Yay
This commit is contained in:
parent
5e8ec90064
commit
4c0c052f20
@ -321,10 +321,13 @@ std::vector<int> service_runner::get_ports()
|
||||
std::cerr << "Error: Server service not initialized" << std::endl;
|
||||
return ports;
|
||||
}
|
||||
|
||||
std::string script_path = mRemote_service_template_path + "/_ports.sh";
|
||||
|
||||
|
||||
// Check if ports script exists
|
||||
std::string command = "_ports";
|
||||
if (!template_command_exists(m_service_info.template_name, command)) {
|
||||
return ports;
|
||||
}
|
||||
std::string script_path = mRemote_service_template_path + "/" + command + ".sh";
|
||||
if (!check_remote_file_exists(script_path)) {
|
||||
return ports;
|
||||
}
|
||||
|
@ -2,6 +2,9 @@
|
||||
source "$(dirname "$0")/_common.sh"
|
||||
load_env "$1" || die "Failed to load environment variables"
|
||||
|
||||
# Required environment variables
|
||||
check_required_env_vars "CONTAINER_NAME" "LOCAL_DATA_FOLDER"
|
||||
|
||||
# Get backup file path from second argument
|
||||
BACKUP_FILE="$2"
|
||||
if [ -z "$BACKUP_FILE" ]; then
|
||||
|
@ -45,21 +45,24 @@ grey_end() {
|
||||
}
|
||||
|
||||
create_and_start_container() {
|
||||
if _is_container_exists $CONTAINER_NAME; then
|
||||
_is_container_running $CONTAINER_NAME && return 0
|
||||
_start_container $CONTAINER_NAME
|
||||
local run_cmd="$1"
|
||||
local container_name="$2"
|
||||
|
||||
if _is_container_exists $container_name; then
|
||||
_is_container_running $container_name && return 0
|
||||
_start_container $container_name
|
||||
else
|
||||
grey_start
|
||||
$1
|
||||
$run_cmd
|
||||
grey_end
|
||||
fi
|
||||
|
||||
if ! _is_container_running $CONTAINER_NAME; then
|
||||
die "Container ${CONTAINER_NAME} failed to start"
|
||||
if ! _is_container_running $container_name; then
|
||||
die "Container ${container_name} failed to start"
|
||||
fi
|
||||
|
||||
ID=$(_get_container_id $CONTAINER_NAME)
|
||||
echo "Container ${CONTAINER_NAME} is running with ID ${ID}"
|
||||
ID=$(_get_container_id $container_name)
|
||||
echo "Container ${container_name} is running with ID ${ID}"
|
||||
}
|
||||
|
||||
function create_folder() {
|
||||
@ -152,3 +155,11 @@ _get_container_logs() {
|
||||
docker logs $1
|
||||
}
|
||||
|
||||
check_required_env_vars() {
|
||||
local required_vars=("$@")
|
||||
for var in "${required_vars[@]}"; do
|
||||
if [ -z "${!var}" ]; then
|
||||
die "Required environment variable $var is not set in your service.env file"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
@ -2,6 +2,9 @@
|
||||
source "$(dirname "$0")/_common.sh"
|
||||
load_env "$1" || die "Failed to load environment variables"
|
||||
|
||||
# Required environment variables
|
||||
check_required_env_vars "CONTAINER_NAME" "IMAGE_REGISTRY" "IMAGE_REPO" "IMAGE_TAG"
|
||||
|
||||
# Test Docker
|
||||
_check_docker_installed || die "Docker test failed, aborting installation..."
|
||||
|
||||
|
@ -2,4 +2,7 @@
|
||||
source "$(dirname "$0")/_common.sh"
|
||||
load_env "$1" || die "Failed to load environment variables"
|
||||
|
||||
# Required environment variables
|
||||
# check_required_env_vars "HOST_PORT"
|
||||
|
||||
# echo $HOST_PORT
|
||||
|
@ -2,6 +2,9 @@
|
||||
source "$(dirname "$0")/_common.sh"
|
||||
load_env "$1" || die "Failed to load environment variables"
|
||||
|
||||
# Required environment variables
|
||||
check_required_env_vars "CONTAINER_NAME"
|
||||
|
||||
# check if the service is running
|
||||
_is_container_running $CONTAINER_NAME || die "Service is not running - did not find container $CONTAINER_NAME."
|
||||
|
||||
|
@ -2,6 +2,9 @@
|
||||
source "$(dirname "$0")/_common.sh"
|
||||
load_env "$1" || die "Failed to load environment variables"
|
||||
|
||||
# Required environment variables
|
||||
check_required_env_vars "CONTAINER_NAME"
|
||||
|
||||
echo "Container ${CONTAINER_NAME} logs:"
|
||||
grey_start
|
||||
docker logs --tail 100 "${CONTAINER_NAME}"
|
||||
|
@ -2,6 +2,9 @@
|
||||
source "$(dirname "$0")/_common.sh"
|
||||
load_env "$1" || die "Failed to load environment variables"
|
||||
|
||||
# Required environment variables
|
||||
check_required_env_vars "CONTAINER_NAME" "HOST_PORT" "CONTAINER_PORT" "LOCAL_DATA_FOLDER"
|
||||
|
||||
DOCKER_RUN_CMD="docker run -d \
|
||||
--restart unless-stopped \
|
||||
--name ${CONTAINER_NAME} \
|
||||
@ -10,7 +13,7 @@ DOCKER_RUN_CMD="docker run -d \
|
||||
${IMAGE_REGISTRY}/${IMAGE_REPO}:${IMAGE_TAG}"
|
||||
|
||||
|
||||
if ! create_and_start_container "$DOCKER_RUN_CMD"; then
|
||||
if ! create_and_start_container "$DOCKER_RUN_CMD" "$CONTAINER_NAME"; then
|
||||
die "Failed to start container ${CONTAINER_NAME}"
|
||||
fi
|
||||
|
||||
|
@ -2,6 +2,9 @@
|
||||
source "$(dirname "$0")/_common.sh"
|
||||
load_env "$1" || die "Failed to load environment variables"
|
||||
|
||||
# Required environment variables
|
||||
check_required_env_vars "CONTAINER_NAME"
|
||||
|
||||
_stop_container $CONTAINER_NAME || die "Failed to stop container ${CONTAINER_NAME}"
|
||||
|
||||
echo "Container ${CONTAINER_NAME} stopped"
|
||||
|
@ -45,21 +45,26 @@ grey_end() {
|
||||
}
|
||||
|
||||
create_and_start_container() {
|
||||
if _is_container_exists $CONTAINER_NAME; then
|
||||
_is_container_running $CONTAINER_NAME && return 0
|
||||
_start_container $CONTAINER_NAME
|
||||
local run_cmd="$1"
|
||||
local container_name="$2"
|
||||
|
||||
if _is_container_exists $container_name; then
|
||||
if _is_container_running $container_name; then
|
||||
return 0
|
||||
fi
|
||||
_start_container $container_name
|
||||
else
|
||||
grey_start
|
||||
$1
|
||||
$run_cmd
|
||||
grey_end
|
||||
fi
|
||||
|
||||
if ! _is_container_running $CONTAINER_NAME; then
|
||||
die "Container ${CONTAINER_NAME} failed to start"
|
||||
if ! _is_container_running $container_name; then
|
||||
die "Container ${container_name} failed to start"
|
||||
fi
|
||||
|
||||
ID=$(_get_container_id $CONTAINER_NAME)
|
||||
echo "Container ${CONTAINER_NAME} is running with ID ${ID}"
|
||||
ID=$(_get_container_id $container_name)
|
||||
echo "Container ${container_name} is running with ID ${ID}"
|
||||
}
|
||||
|
||||
function create_folder() {
|
||||
@ -152,3 +157,11 @@ _get_container_logs() {
|
||||
docker logs $1
|
||||
}
|
||||
|
||||
check_required_env_vars() {
|
||||
local required_vars=("$@")
|
||||
for var in "${required_vars[@]}"; do
|
||||
if [ -z "${!var}" ]; then
|
||||
die "Required environment variable $var is not set in your service.env file"
|
||||
fi
|
||||
done
|
||||
}
|
@ -2,15 +2,20 @@
|
||||
source "$(dirname "$0")/_common.sh"
|
||||
load_env "$1" || die "Failed to load environment variables"
|
||||
|
||||
# Required environment variables
|
||||
check_required_env_vars "CONTAINER_NAME" "IMAGE_REGISTRY" "IMAGE_REPO" "IMAGE_TAG"
|
||||
|
||||
# Test Docker
|
||||
_check_docker_installed || die "Docker test failed, aborting installation..."
|
||||
|
||||
# check can pull image on remote host and exit if fails
|
||||
echo "Pulling image ${IMAGE_REGISTRY}/${IMAGE_REPO}:${IMAGE_TAG}"
|
||||
docker pull "$IMAGE_REGISTRY/$IMAGE_REPO:$IMAGE_TAG" || die "Failed to pull image $IMAGE_REGISTRY/$IMAGE_REPO:$IMAGE_TAG"
|
||||
|
||||
# remove and restart, as the env may have changed.
|
||||
bash ./stop.sh $1 || die "Failed to stop container ${CONTAINER_NAME}"
|
||||
echo "Removing old container ${CONTAINER_NAME}"
|
||||
_remove_container $CONTAINER_NAME || die "Failed to remove container ${CONTAINER_NAME}"
|
||||
echo "Starting container ${CONTAINER_NAME}"
|
||||
bash ./start.sh $1 || die "Failed to start container ${CONTAINER_NAME}"
|
||||
|
||||
echo "Installation of ${CONTAINER_NAME} complete"
|
||||
|
@ -2,6 +2,9 @@
|
||||
source "$(dirname "$0")/_common.sh"
|
||||
load_env "$1" || die "Failed to load environment variables"
|
||||
|
||||
# Required environment variables
|
||||
check_required_env_vars "CONTAINER_NAME"
|
||||
|
||||
# check if the service is running
|
||||
_is_container_running $CONTAINER_NAME || die "Service is not running - did not find container $CONTAINER_NAME."
|
||||
|
||||
|
@ -1,6 +1,8 @@
|
||||
# Service settings
|
||||
TEMPLATE=watchtower
|
||||
|
||||
CONTAINER_NAME=watchtower
|
||||
|
||||
# Image settings
|
||||
IMAGE_REGISTRY="docker.io"
|
||||
IMAGE_REPO="containrrr/watchtower"
|
||||
|
@ -2,6 +2,9 @@
|
||||
source "$(dirname "$0")/_common.sh"
|
||||
load_env "$1" || die "Failed to load environment variables"
|
||||
|
||||
# Required environment variables
|
||||
check_required_env_vars "CONTAINER_NAME"
|
||||
|
||||
echo "Container ${CONTAINER_NAME} logs:"
|
||||
grey_start
|
||||
docker logs --tail 100 "${CONTAINER_NAME}"
|
||||
|
@ -2,13 +2,18 @@
|
||||
source "$(dirname "$0")/_common.sh"
|
||||
load_env "$1" || die "Failed to load environment variables"
|
||||
|
||||
# Required environment variables
|
||||
check_required_env_vars "CONTAINER_NAME"
|
||||
|
||||
DOCKER_RUN_CMD="docker run -d \
|
||||
--restart unless-stopped \
|
||||
--name ${CONTAINER_NAME} \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
${IMAGE_REGISTRY}/${IMAGE_REPO}:${IMAGE_TAG}"
|
||||
|
||||
if ! create_and_start_container "$DOCKER_RUN_CMD"; then
|
||||
if ! create_and_start_container "$DOCKER_RUN_CMD" "$CONTAINER_NAME"; then
|
||||
echo "RUN_CMD failed:"
|
||||
echo "$DOCKER_RUN_CMD"
|
||||
die "Failed to start container ${CONTAINER_NAME}"
|
||||
fi
|
||||
|
||||
|
@ -2,6 +2,9 @@
|
||||
source "$(dirname "$0")/_common.sh"
|
||||
load_env "$1" || die "Failed to load environment variables"
|
||||
|
||||
# Required environment variables
|
||||
check_required_env_vars "CONTAINER_NAME"
|
||||
|
||||
_stop_container $CONTAINER_NAME || die "Failed to stop container ${CONTAINER_NAME}"
|
||||
|
||||
echo "Container ${CONTAINER_NAME} stopped"
|
||||
|
Loading…
x
Reference in New Issue
Block a user